Cuál es la mejor manera de personalizar las páginas / añadir a los Generador de administrador?

StackOverflow https://stackoverflow.com/questions/2522322

Pregunta

Estoy usando Symfony 1.4 y Doctrina.

backend de mi solicitud fue construido usando generador de administración de Symfony. Funciona muy bien cuando quiero mostrar cosas básicas.

Pero tehre no es una gran cantidad de documentación sobre cómo mejorar y añadir nuevas páginas.

Vamos a tomar un ejemplo: Quiero poner artículos publicados en una página y que se publicará-elementos en otro. He usado varias maneras de que en mi aplicación, pero no puedo averiguar cuál es la mejor forma de hacerlo es:

  • jugando con filtros y luego modificar las plantillas en función de dónde se encuentre?
  • crear otro módulo de llamar a un table_method diferente?
  • alguna otra técnica que no sé alrededor?

¿Cuál es la mejor práctica aquí? ¿Cómo ustedes suelen hacer para personalizar su administrador?

¿Fue útil?

Solución

Shameless auto-promoción aquí. Escribí un entrada del blog esta semana sobre la personalización del generador de administración - una de las cosas que hice fue añadir nuevas páginas, etc en el generador. La forma en que lo hice es probablemente un duro poco, pero funciona muy bien: -)

El mejor lugar para empezar a buscar es la clase de acciones generadas automáticamente para su módulo y extendiéndola en su archivo app/module/actions/actions.class.php. En particular, la acción índice que establece el localizador ORM. Usted debe ser capaz de utilizar cualquier consulta de su ORM para abastecer su buscapersonas ORM con los datos - en los casos en que he necesitado para alterarla, utilizo una consulta Doctrina generado en la misma forma que lo normal para pasar al buscapersonas. Esto significa que puedo personalizar lo que se muestran los campos, incluyendo los de otras tablas unidas en etc en una sola consulta. Esta es su 'método de la tabla' mencionado anteriormente.

Los filtros funcionarán igual de bien - que depende de su caso de uso, y si los filtros son apropiadas, en especial para su visualización. Si quieres un /showpublisheditems page, entonces me gustaría ir con una nueva acción y la nueva consulta para el buscapersonas. Si desea que la personalización en la marcha, y luego ir con la opción de filtro.

Los documentos de filtro que pensé que eran un poco escaso en lugares demasiado - consejo rápido, buscan un método addYourColumnNameColumnQuery() en la clase de filtro de nivel superior (lib / filter / ...) que tiene una consulta aprobada en y usos por ejemplo, addWhere("x.column_name = ?", $foo) a la consulta se ha pasado.

bleh :-) lo siento, que era un poco de basura cerebro, pero espero que ayude! : -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top