Ankündigung

Einklappen
Keine Ankündigung bisher.

Denkanstoss für Site gesucht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Denkanstoss für Site gesucht

    Hallo Leute,

    folgendes Problem:
    Ich möchte mit einem Framework eine mehrsprachige
    Seite aufbauen.An sich kein Ding, aber die Planung
    von Templates und Controllern will mir nicht so
    richtig einfallen.

    Folgendes Layout ist vorgesehen:

    Große Version

    Die FWs arbeiten ja immer nach diesem Schema:
    www.example.com/controller/function/id

    Ich hatte eigentlich geplant, für die Seite an sich,
    das Menü und den Inhalt verschiedene Controller zu
    entwickeln. Der Site-Controller generiert die
    "Umgebung", also stellt das Basistemplate zur
    Verfügung. Das Basistemplate enthält alle nötigen
    Tags von <html> bis </html>. Die
    verschiedenen Controller für Menü bzw. Content
    werden von dem Site-Controller instanziert, bekommen
    die nötigen Informationen und fügen ihr HTML zu dem
    Basistemplate hinzu.
    Ein Aufruf von www.example.com/site/content/id würde
    also eine "normale" Seite anzeigen.
    Der Site-Controller wird aufgerufen, die content-Funktion
    instanziert den Menü-Controller und generiert den Inhalt.
    Wie im Grid zu sehen, besitzt diese Seite aber auch
    noch eine Applikation, die unabhängig vom Basis-Layout
    bzw. Menü arbeitet. Es handelt sich um einen
    Online-Katalog. Dieser wird z.b. über folgende URL
    aufgerufen: www.example.com/site/catalog/cat_select/id.

    Ihr bemerkt sicherlich schon die Komplikationen
    dieses Aufrufs. Der Catalog-Controller würde vom
    Site-Controller über die Function catalog instanziert
    werden. Um diese Sache noch relativ einfach zu
    gestalten, läuft die komplette Steuerung des Katalogs
    im Applikation-Grid ab (siehe Grafik). Eine Verknüpfung
    vom Catalog- und Menü-Controller ist also (zunächst)
    nicht geplant. Aber wie programmiere ich nun am besten
    den Catalog-Controller? Das normale Schema ist ja gestört.

    Ist das überhaupt möglich -ohne den Front-Controller
    großartig umzuschreiben? Ich bin für jede Hilfe dankbar,
    wie würdet ihr das Problem lösen? Die Sprachunterstützung
    ist ebenfalls nicht gewährleistet, es sei denn, jede TLD
    (example.de; example.com; ..) würde vom Site-Controller
    abgefragt.

    MFG,
    dummi

    EDIT:
    Tja, als erster Denkanstoß hätte schon ein Verweis auf die Routing-Funktionalitäten
    vieler Frameworks geholfen. Das ZF, das ich wahrscheinlich auch verwenden werde,
    bietet hier eine recht übersichtliche Variante, mittels Routing meinen Anforderungen
    gerecht zu werden. Über weitere hilfreiche Links würde ich mich auch freuen!
    "Nobody is as smart as everybody" - Kevin Kelly
    — The best things in life aren't things


  • #2
    Hallo phpdummi,

    Ist das überhaupt möglich -ohne den Front-Controller
    großartig umzuschreiben? Ich bin für jede Hilfe dankbar,
    wie würdet ihr das Problem lösen? Die Sprachunterstützung
    ist ebenfalls nicht gewährleistet, es sei denn, jede TLD
    (example.de; example.com; ..) würde vom Site-Controller
    abgefragt.
    Was du benötigst, und was dir hier Kopfzerbrechen bereitet, sind abhängige Frontcontroller-Actions. Du musst in einer Action definieren können, ob diese in der URL erhalten bleiben soll und vor allem bei welcher Action, du welche andere Action als abhängige Action mit einbeziehen möchtest. Klassisches Beispiel ist, dass du in einer Unterseite ("/site/abs") ein Modul eingebunden hast, das weitere Parameter benötigt. In der URL müssen dann bei Bedienung des Moduls einfach beide FrontController-Anweisungen enthalten sein, so dass zum einen der Navigator zur angegebenen Seite springt und zum anderen das Modul seine Model-Informationen bekommt.

    Ob das mit dem ZF-Frontcontroller möglich ist kann ich dir im Moment nicht genau beantworten, da ich nach einer Implementierung des Struts-Frameworks vorgehe und mir dort die Möglichkeit mehrere Actions in der URL zu haben ermöglicht habe. Soweit ich das verstanden habe ist der Zend FC jedoch ähnlich aufgebaut, nur dass es dort neben den Actions nochmals eigene Router gibt. Routing in meinem Jargon ist jedoch nur eine weiter Action, die zur Navigation dient.
    Viele Grüße,
    Dr.E.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1. Think about software design before you start to write code!
    2. Discuss and review it together with experts!
    3. Choose good tools (-> Adventure PHP Framework (APF))!
    4. Write clean and reusable software only!
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Kommentar


    • #3
      Danke schonmal, werde mich heute intensiver damit beschäftigen
      "Nobody is as smart as everybody" - Kevin Kelly
      — The best things in life aren't things

      Kommentar

      Lädt...
      X