Frage

Ich bin mit Symfony 1.4 und Lehre.

Backend Meine Anwendung wurde mit Symfony Admin-Generator gebaut. Es funktioniert großartig, wenn ich grundlegenden Dinge angezeigt werden soll.

Aber tehre ist nicht viel Dokumentation, wie es zu verbessern und neue Seiten hinzufügen.

Nehmen wir ein Beispiel: Ich möchte veröffentlichte Artikel auf einer Seite aufzulisten und zu-veröffentlichten Artikel auf einem anderen. Ich habe in meiner Anwendung, dass mehrere Arten verwendet, kann aber nicht herausfinden, was der beste Weg ist:

  • mit Filtern zu spielen und dann Vorlagen ändern, je nachdem, wo Sie sind?
  • Erstellen Sie ein weiteres Modul eine andere table_method nennen?
  • eine andere Technik, die ich kenne nicht?

Was ist die beste Praxis hier? How do you Jungs in der Regel tun, um Ihre Server-Betreiber anpassen?

War es hilfreich?

Lösung

Shameless Eigenwerbung hier. Ich schrieb eine Blog-Post up in dieser Woche den Admin-Generator auf das Customizing - eines der Dinge, die ich tat, war, neue Seiten hinzufügen usw. in den Generator. So wie ich es tat, ist wahrscheinlich ein wenig hardcore, aber es funktioniert gut: -)

Der beste Ort zu Beginn der Suche ist die automatisch generierte Aktionen Klasse für das Modul und es in Ihrer app/module/actions/actions.class.php Datei erweitern. Insbesondere legt der Index Aktion, die den ORM-Pager auf. Sie sollten jede Abfrage von Ihrem ORM verwenden können Ihre ORM Pager mit Daten zu versorgen - in Fällen, in denen ich gebraucht habe, es zu ändern, verwende ich eine Abfrage Lehre in der gleichen Weise erzeugt wie normal an den Pager zu übergeben. Das bedeutet, dass ich anpassen können, welche Felder angezeigt werden, darunter auch solche aus anderen Tabellen in etc in einer einzigen Abfrage verbunden. Dies ist Ihre ‚Tabellenmethode‘ oben erwähnt.

Filter funktioniert genauso gut - auf den Anwendungsfall abhängt und ob Filter geeignet sind, vor allem für die Anzeige. Wenn Sie ein /showpublisheditems page wollen, dann würde ich mit einer neuen Aktion und die neuen Abfrage für den Pager gehen. Wenn Sie on-the-fly individuell gestaltet werden mögen, dann mit der Filteroption gehen.

Die Filter docs Ich dachte, waren ein wenig an Orten fehlt auch - schnelle Spitze, suchen sie nach einer addYourColumnNameColumnQuery() Methode in der Top-Level-Filterklasse (lib / filter / ...), die nimmt eine Abfrage übergeben und verwendet zB addWhere("x.column_name = ?", $foo) auf die Abfrage übergeben.

Bleh :-) sorry, die ein bisschen von einem Gehirn-Dump, aber hoffentlich hilft es! : -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top