Parameterübergabe von Menü über Beitrag nach Modul...

  • Hallo alle zusammen,


    ich habe mir ein Modul gebastelt, welches bestimmte Sachen anhand einer ID im Content anzeigt. Das Modul wird per LoadPosition in einem Beitrag geladen. Funktioniert soweit.

    Ich kann die ID über die Einstellungen des Menüs mitgeben. heißt, ich könnte für 100 ID's 100 Menues erstellen und jeweils die Zahl mitgeben. Naja... nicht so prikelnd


    Jetzt habe ich folgende Idee:


    Der Beitrag soll über einen Menüpunkt aufgerufen werden. Jetzt würde ich gern die URL um &objekt_id=20 erweitern. Diese könnte ich dann mit ... $param = $params->get('objekt_id'); .... auslesen und an das Modul

    übergeben. Nur wie kann ich, wenn ich im Menü "einezlner Beitrag" und gewähltem Beitrag die URL um einen Parameter erweitern? Das Feld ist disabled...


    Sollte man das so lösen oder lieber ganz anders? Wenn anders, wie?


    Viele Grüße


    Tino

  • Das ist mir soweit klar. Das würde aber heißen, das ich ähnlich wie bei den 100 Modulen, immer 100 Artikel machen müßte.

    Dann könnte ich anhand der Artikel ID immer unterschiedliche Sachen anzeigen.


    Meine Idee ist aber 1 Artikel, der von außen immer mit einer anderen ID "gefüttert" wird... Diese "gefütterte" ID soll dann an das Modul weitergegeben

    werden. Anhand dieser ID soll der Content zusammengebaut werden..


    Mir kommt gerade eine Idee, wie das gehen könnte, ohne eigenen zusätzlichen Parameter. Jeder Menüpunkt hat eine eigene ID.

    Kann ich irgendwie die ID des aufrufenden Menüpunktes abfragen?

  • vielleicht denke ich ja auch falsch. Ich versuches es solange, bis Du es verstehst, da ich denke, das ich auf dem falschen Dampfer bin. Ich bin halt eher in der Cliententwicklung, die NICHTS mit WEB und Browser zu tun hat... Früher hieß das mal Programm und ist eine EXE-Datei :-) App kann ja wieder alles möglich sein :-)


    Stellt dir vor, ich habe 10 Autos und will die über 10 Menüpunkte einzeln mit Daten anzeigen lassen... Ich könnte jetzt 10 Menüpunkte machen und zu jedem Menüpunkt einen Beitrag, den ich mit den Daten befülle. Ich müßte also 10 mal das Layout inkl. Daten erstellen. Ich habe derzeit ein Modul, das ich auf einen Beitrag legen kann, welches mir die Autodaten von Auto X aus der Datenbank holt und diese im Beitrag entsprechend anzeigt. Ich will nur dieses eine Layout, keine 10 Layouts


    Was ich jetzt noch brauche, ist eine Möglichkeit dem Beitrag vom Menüpunkt aus den Wert X mitzugeben, damit das Modul jedes mal die passenden Werte holen kann.


    oder mal in "Programmierer-Deutsch"


    die Variante, die ich nicht will:


    Menu_1 -> Beitrag_1

    Menu_2 -> Beitrag_2

    Menu_3 -> Beitrag_3

    Menu_4 -> Beitrag_4

    Menu_5 -> Beitrag_5


    was ich will:


    Menu_1 -> BeitragAuto(1)

    Menu_2 -> BeitragAuto(2)

    Menu_3 -> BeitragAuto(3)

    Menu_4 -> BeitragAuto(4)

    Menu_5 -> BeitragAuto(5)



    Also immer ein und derselbe Beitrag, der von außen ( über das Menü ) eine Zahl mitbekommt, anhand das Modul das Layout mit anderen Daten füllt...


    Jetzt verstanden? Wenn ja, ist mein Ansatz sinnvoll oder baut man sowas im Web mit Joomla völlig anders?

  • Kopiere die Datei "default.xml" im Ordner

    /components/com_content/views/article/tmpl/


    Benenne diese Kopie nach "auto.xml" um.

    VERSCHIEBE diese auto-Datei in den Ordner

    /templates/DEINTEMPLATENAME/html/com_content/article/


    Wenn du willst, kannst du auch noch die PHP-Dateien mit "default" im Namen entsprechend als "auto"-Overrides anlegen. Siehst ja dann später, ob sinnvoll.


    Öffne Datei auto.xml und ändere Zeilen 3 bis 7 oder so (default gegen auto tauschen). Das sind Joomla-Sprachstrings, die man auch später noch hübschen kann.

    Code
    1. <layout title="com_content_article_view_auto_title" option="com_content_article_view_auto_option">
    2. <message>
    3. <![CDATA[com_content_article_view_auto_desc]]>
    4. </message>
    5. </layout>

    Ändere weiters (ab Zeile 10 oder so geht's los) im "request"-fieldset.

    Das field mit name="auto" wurde HINZUGEFÜGT.

    Lade per FTP hoch.


    Lege einen neuen Menüeintrag an und wähle als Menüeintrags-Typ Beiträge > com_content_article_view_auto_title.


    Du hast nun ein Pflichtfeld-Feld "Auto" in das du eine ID eintragen kannst oder sonstwas, was bei der DB-Abfrage benötigt wird.

    Schicker wird das natürlich, wenn du eine Auswahlbox mit einem Feld vom Typ "sql" verwendest, wo du die Auto-DB-Einträge als Liste anbietest.


    Im Beitrag und/oder Modul oder nahezu sonstwo, kommst du an den auto-Eintrag so, wenn du auf der Beitragsseite bist.

    Code
    1. $input = JFactory::getApplication()->input;
    2. $meinAuto = $input->get('auto');


    EDIT: Wobei ich mit einem unverfänglicheren Parameternamen als "auto" arbeiten würde. Halt was unverwechselbares.