everything to quickstart a webpage

Installs: 747

Dependents: 0

Stars: 3

Watchers: 3

Forks: 2

Language: PHP

v0.101.8 2014-11-10 10:40 UTC


everything to quickstart a webpage

Build Status SemVer Latest Stable Version Latest Unstable Version License SensioLabsInsight Project Status

Because json is not a really handy format to read and it also lacks in commenting support, this Bundle supports the composer.yml format. composer-yaml.phar is used, to convert from yml to json. In this manual all composer code snippets are in yml format. Create a script file, which call the yml to json converter before running composer. Make sure you have both composer and composer-yaml commands at your fingertips.

Short Quick Manual

You can perform the whole installation by executing the following commands inside your empty project directory:

# Get sample composer file directly from github
wget https://raw.githubusercontent.com/c33s/CoreBundle/master/Resources/files/composer-example.yml -O composer.yml --no-check-certificate
# Modify composer.yml as needed. You may leave this for later.

# Create empty composer.json
touch composer.json

# Convert composer.yml to json format. Do this every time you modify your composer.yml
composer-yaml convert

# Update dependencies without running any scripts. This may take a while.
composer update --no-scripts

# In the following commands, replace "YourNamespace" with your default Namespace prefix you want to use for this project's bundles. Keep it short but helpful.
./bin/init-symfony run YourNamespace

# Now that the project structure is here it's time to run those fancy composer scripts
composer run-script post-update-cmd

# Init basic configuration
php app/console c33s:init-config YourNamespace

# Generate cms structure (webpage and admin bundles)
php app/console c33s:init-cms YourNamespace

# Optional: generate AdminGeneratorGenerator configuration that is automatically patched and correctly integrated into your project
php app/console admin:c33s:build YourNamespace

# This command will clear your cache and pre-render assets
php app/console c33s:clean

Make sure the web server permissions are set up correctly. This includes the path for media uploads as well as the sqlite database used by default. See http://symfony.com/doc/master/book/installation.html#configuration-and-setup for further information.

You should enable web server writing for the following folders:


If this goes well, you should see some example pages as well as a secured admin login when accessing /admin/.


Propel Model Traits

A helper Trait which can be used to extend your propel model classes, to easily load data from your fixtures for 1:n relations. The data can be directly defined in the fixture file for the object which the data is related to.

By extending your class like this:


class YourPropelObject extends BaseYourPropelObject
    use \c33s\ModelBundle\Traits\PropelModelTraits;

    public function setYourDataFromArray($data)
    $properties = array
        'model' => 'ACME\\ModelBundle\\Model\\YourExtraModel',

    return $this->setRelationFromDataArray($data, $properties);

you can define fixtures like this:


        # normal m:n relation fixtures
            - Group_1
            - Group_2
        # load 
            - name: your data name1
              type:  type1
            - value: your data name2
              type:  type2