Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Base CMS components forming a content management framework based on Symfony2
Pull request Compare This branch is 227 commits behind symfony-cmf:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Symfony Content Management Framework

Mission Statement

The Symfony CMF project makes it easier for developers to add CMS functionality to applications built with the Symfony2 PHP framework. Key development principles for the provided set of bundles are scalability, usability, documentation and testing.



This is the main repository containing all bundles you need for the CMF.


You need to install Doctrine PHPCR ODM according to the install instructions.


  • Add this repository to your vendors
  • Make sure to run git submodule update --recursive --init inside the symfony-cmf folder after each vendor update (we added this to the vendors script)

app/autoload.php: Add autoloader entries ( before the line registering Symfony itself )

'Symfony\\Cmf'                          => __DIR__.'/../vendor/symfony-cmf/src',
'Doctrine\\Bundle\\DoctrinePHPCRBundle' => __DIR__.'/../vendor/bundles',
'Doctrine\\ODM\\PHPCR'                  => __DIR__.'/../vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib',
'Jackalope'                             => __DIR__.'/../vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/vendor/jackalope/src',
'PHPCR'                                 => array(

app/autoload.php: Add autoloader entries for the multilang and ODM annotations right after the last AnnotationRegistry::registerFile line


app/AppKernel.php: Initialize bundles in the Kernel registerBundle method

new Doctrine\Bundle\DoctrinePHPCRBundle\DoctrinePHPCRBundle(),
new Symfony\Cmf\Bundle\CoreBundle\SymfonyCmfCoreBundle(),
new Symfony\Cmf\Bundle\MultilangContentBundle\SymfonyCmfMultilangContentBundle(),
new Symfony\Cmf\Bundle\NavigationBundle\SymfonyCmfNavigationBundle(),
new Symfony\Cmf\Bundle\ContentBundle\SymfonyCmfContentBundle(),


The MenuBundle makes use of the KnpMenu library and KnpMenuBundle (see for installation and configuration). If you want to use menus you need to add KnpMenu and KnpMenuBundle to your vendors.

Don't forget to add the bundle in app/AppKernel.php:

app/AppKernel.php: Initialize bundles in the Kernel registerBundle method

new Symfony\Cmf\Bundle\MenuBundle\SymfonyCmfMenuBundle(),


Some of the bundles are additionally exported into separate repository in case you want to use only a specific bundle. Browse to see which are available. If you miss one, please contact us and explain why it should be available stand-alone.

Documentation on that part is in doc/

Something went wrong with that request. Please try again.