El objetivo de esta guía es instalar los componentes mínimos necesarios (el «núcleo») del CMF con la mínima configuración requerida. A partir de aquí, puedes empezar a incorporar en tu aplicación la funcionalidad del CMF que necesites.
Esta guía está dirigida a usuarios experimentados que quieren conocer todos los detalles sobre el CMF de Symfony. Si este es tu primer encuentro con el CMF de Symfony es buena idea empezar con:
Añade lo siguiente a tu archivo composer.json:
"minimum-stability": "dev",
"require": {
...
"symfony-cmf/symfony-cmf": "1.0.*"
}
Y luego ejecuta:
php composer.phar update
Luego, inicia los paquetes en AppKernel.php añadiéndolos al método registerBundles:
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Symfony\Cmf\Bundle\RoutingExtraBundle\SymfonyCmfRoutingExtraBundle(),
new Symfony\Cmf\Bundle\CoreBundle\SymfonyCmfCoreBundle(),
new Symfony\Cmf\Bundle\MenuBundle\SymfonyCmfMenuBundle(),
new Symfony\Cmf\Bundle\ContentBundle\SymfonyCmfContentBundle(),
new Symfony\Cmf\Bundle\BlockBundle\SymfonyCmfBlockBundle(),
// Dependencias del SymfonyCmfMenuBundle
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
// Dependencias del SymfonyCmfBlockBundle
new Sonata\BlockBundle\SonataBlockBundle(),
);
// ...
}
Nota
Esto también habilita el PHPCR-ODM y dependencias relacionadas; las instrucciones de configuración se pueden encontrar en la documentación dedicada.
Para lograr que tu aplicación funcione, es muy poca la configuración necesaria.
Estos pasos son necesarios para garantizar que tu AppKernel todavía se ejecuta.
Si no lo has hecho ya, asegúrate de que has seguido estos pasos en Instalando y configurando Doctrine y PHPCR-ODM:
Configura el BlockBundle en tu archivo config.yml:
# app/config/config.yml
sonata_block:
default_contexts: [cms]
Puesto que la mayoría de los componentes del CMF utilizan el DynamicRouter del RoutingExtraBundle, el cual de manera predeterminada no se carga, necesitarás habilitarlo de la siguiente manera:
# app/config/config.yml
symfony_cmf_routing_extra:
chain:
routers_by_id:
symfony_cmf_routing_extra.dynamic_router: 200
router.default: 100
dynamic:
enabled: true
Podrías querer configurar más en el enrutador dinámico, es decir escoger automáticamente los controladores basados en contenido. Ve RoutingExtraBundle para detalles.
Por ahora esta es la única configuración que necesitamos. Dominar la configuración de los diferentes paquetes será el tema de otras guías. Si estás buscando la configuración de un paquete específico dale un vistazo al artículo del paquete correspondiente.