Antes que nada, los módulos no tienen que estar restringidos a un modelo de la base de datos. Puede tener un módulo Foo que no dependa de contenido de base de datos, y un módulo Bar que se basa principalmente en 3 modelos diferentes. La separación del módulo es una forma de dividir lógicamente su sitio en secciones manejables. Por ejemplo, un sitio de comercio electrónico podría tener un módulo de productos, un módulo de categorías y un módulo de carro, y así sucesivamente.
Su última frase a continuación, se puede dividir en 2 partes:
1) La información estática puede ser en cualquier página - si es para cosas como "Acerca de nosotros" y "Preguntas frecuentes", etc, yo personalmente tiendo a usar una "default" o módulo "casa", y crear las diversas acciones en relación existe:
./symfony generate:module appname home
y
class homeActions extends sfActions
{
public function executeAbout(sfWebRequest $request)
{
// ...
}
public function executeFaq(sfWebRequest $request)
{
// ...
}
}
con el correspondiente t establecer archivos (aboutSuccess.php, faqSuccess.php).
2) Una página puede estar compuesta por datos de muchos modelos diferentes: simplemente use el método de recuperación de datos de su ORM preferido y configúrelo para la vista ($this->data = MyModel->findByColumn(...)
, etc.). Si se refiere a datos de diferentes módulos, entonces probablemente sería mejor mirar parciales o componentes para los elementos de una página que se pueden usar en diferentes módulos (navegación, etc.). Consulte the Symfony docs para obtener más detalles sobre estos.
Gracias! Funciona, pero ¿cómo puedo editar los archivos de enrutamiento.yml para que pueda acceder a la página como host.com/about – Danny
Genial, me alegro de que funcionó para usted. En su routing.yml, puede agregar una ruta que coincida con la parte de "acción" y siempre use el módulo estático. He puesto un ejemplo en http://pastebin.com/f6b55d7a7 – richsage