Qual è il modo migliore per personalizzare / aggiungere pagine al generatore di amministrazione?

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

Domanda

Sto usando Symfony 1.4 e dottrina.

backend di mia applicazione è stata costruita utilizzando generator di Symfony. Funziona benissimo quando voglio visualizzare cose di base.

Ma non importava dato un sacco di documentazione su come migliorare e aggiungere nuove pagine.

Facciamo un esempio: Voglio elencare gli elementi pubblicati in una pagina e a-essere-pubblicato articoli su un altro. Ho usato diversi modi a che nella mia richiesta, ma non riesco a capire quale sia il modo migliore è:

  • giocare con filtri e quindi modificare i modelli a seconda di dove siete?
  • la creazione di un altro modulo chiamando un table_method diverso?
  • qualche altra tecnica non so circa?

Qual è la migliore pratica qui? Come fate di solito fare per personalizzare il tuo amministratore?

È stato utile?

Soluzione

Shameless auto-promozione qui. Ho scritto una post questa settimana sulla personalizzazione generator - una delle cose che ho fatto è stato quello di aggiungere nuove pagine ecc nel generatore. Il modo in cui l'ho fatto è probabilmente un po 'hardcore, ma funziona bene: -)

Il posto migliore per iniziare la ricerca è la classe azioni generate automaticamente per il modulo e l'estensione nel file app/module/actions/actions.class.php. In particolare, l'azione index che imposta il pager ORM. Si dovrebbe essere in grado di utilizzare qualsiasi richiesta dal vostro ORM per fornire il vostro cercapersone ORM con i dati - nei casi in cui ho bisogno di modificare esso, io uso una query Dottrina generato nello stesso modo come normale per passare al cercapersone. Questo significa che posso personalizzare ciò vengono visualizzati i campi, compresi quelli provenienti da altre tabelle unite in etc in una singola query. Questo è il tuo 'metodo della tabella' di cui sopra.

I filtri funzionano altrettanto bene - dipende dal vostro caso d'uso e se i filtri sono adeguate, in particolare per la visualizzazione. Se si desidera un /showpublisheditems page, poi mi piacerebbe andare con una nuova azione e la nuova query per il cercapersone. Se si desidera che la personalizzazione on-the-fly, quindi andare con l'opzione di filtro.

La documentazione del filtro ho pensato che fosse un po 'carente in posti troppo - punta rapida, cercano un metodo addYourColumnNameColumnQuery() nella classe del filtro di primo livello (lib / filter / ...) che prende una query passata e usa ad esempio addWhere("x.column_name = ?", $foo) alla query passata.

Bleh :-) dispiace, che era un po 'un deposito del cervello, ma si spera che aiuta! : -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top