Ankündigung

Einklappen
Keine Ankündigung bisher.

URL Parameter in Config vorbelegen

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

  • URL Parameter in Config vorbelegen

    Wir würden gerne auf bestimmten Seiten ein Filterparameter für eine CC Liste automatisch im Hintergrund mitbelegt wird.

    Ich habe es mal so in die langconfig.php gepackt.

    Code:
    if($GLOBALS['objPage']->id == '10615' {
    \Contao\Input::setGet('make',BMW);
    }
    Wirft aber Fehler, was ist da krumm?


    Ok, ist erledigt...
    hat nur die schließende Klammer gefehlt ;-)

  • #2
    Wir haben hierzu noch eine erweiterte Anforderung.

    Wie lässt sich diese Vorbelegung auf alle Unterseiten vererben?

    Also Sowohl die Seite 10626 in diesem Beispiel, als auch alle weiteren Unterseiten?

    Kommentar


    • #3
      initconfig ist besser als langconfig!

      Die if Abfrage hat keine geschlossene Klammer.

      Wenn du den Get Parameter ohnehin immer belegt haben willst, kannst du dir die if- abfrage sparen .
      http://www.premium-contao-themes.com

      Kommentar


      • #4
        Ich möchte sie für diverse Root-Seiten (und die enthaltenen Unterseiten) unterschiedlich setzen

        Kommentar


        • #5
          Gleiche Lösung wie hier: https://forum.premium-contao-themes....=9764#post9764

          Mit getChildRecords alle Kind-Seiten-Ids holen.
          http://www.premium-contao-themes.com

          Kommentar


          • #6
            In einer aktuellen Version 4.3.4 erhalte ich zwischenzeitlich eine Fehlermeldung, wenn ich
            ($GLOBALS['objPage'] verwende:



            Warning: Undefined global variable $objPage


            PHP-Code:
            $pageId $GLOBALS['objPage']->id;
            if(
            $GLOBALS['objPage']->pid == '2604' OR $GLOBALS['objPage']->pid == '2934' OR in_array($pageId, \Database::getInstance()->getChildRecords(2627,'tl_page'))){
            \
            Contao\Input::setGet('vermarktungsart','Kauf');} 
            Wo würde es nach neuerer Contao Methode (contao/dca ...) eingesetzt?
            Im jeweiligen cc?
            also z.B. contao/dca/cc_immobilien.php?

            Kommentar


            • #7
              Eine frontend-bezogene Abfrage sollte nie in einer DCA Datei abgelegt werden. Contao initialisiert im Frontend keine DCA-bezogenen Informationen, ausser sie werden vorab strikt geladen.

              Eine solche Abfrage sollte in einem Frontend-Hook platziert sein (generatePage) oder, wenn noch verwendbar, in der initconfig, wie ich oben schon aufgezeigt habe.

              ---
              In Contao wäre die globale allgemein $objPage, wenn Contao diese in der jeweiligen Umgebung vorab definiert hat. Ich hab es nie über den $GLOBALS Array von PHP angesprochen, ist aber nicht falsch. Hauptsache Contao hat die Variable vorab belegt.

              <?php
              global $objPage;
              echo $objPage->id;
              http://www.premium-contao-themes.com

              Kommentar


              • #8
                Das heißt, wenn wir künftig ohne initconfig.php auskommen wollen, wäre hier ein FE-Hook erforderlich?

                -> es geht hier immer noch um die Vorbelegung von CC Filtern auf bestimmten Seiten.

                Kommentar


                • #9
                  Zitat von eblick Beitrag anzeigen
                  Das heißt, wenn wir künftig ohne initconfig.php auskommen wollen, wäre hier ein FE-Hook erforderlich?

                  -> es geht hier immer noch um die Vorbelegung von CC Filtern auf bestimmten Seiten.
                  Wenn Contao keine andere Datei bereitstellt, jup - so ist das im Frontend.

                  Die localconfig.php wird noch geladen, aber die fasse ich persönlich nicht an.

                  ps. Sowas kann auch in Templates platziert sein. Das manipuliert ja nicht direkt CC, sondern quasi die URL und die GET-Parameter darin - das ist oberste Ebene. Solang es VOR den Methoden geschieht, die darauf reagieren sollen, ist es im Grunde egal, wo das steht. Die initconfig ist halt nur sehr bequem
                  Zuletzt geändert von Tim; 16.12.2023, 13:41.
                  http://www.premium-contao-themes.com

                  Kommentar


                  • #10
                    Also in diesem Fall VOR der mod_customcatalog? oder VOR mod_customcatalogfilter ?

                    Kommentar


                    • #11
                      Zitat von eblick Beitrag anzeigen
                      Also in diesem Fall VOR der mod_customcatalog? oder VOR mod_customcatalogfilter ?
                      Kommt drauf an.
                      Wenn du nur die CC Liste Ausgabe manipulieren willst, vor der Liste-Ausgabe. Wenn du die CC Filter Ausgabe auch manipulieren willst, vor der Filter-Ausgabe.

                      Legt einmal eine kleine Erweiterung dafür an und gut. Dann hat man alles zentral. Oder ein "Blind" Frontend-Modul, was man VOR jede Ausgabe platziert (z.B. als erstes Modul in den Seitenlayouts oder vor der CC Liste) und in dem Template stehen die Befehle. Dafür reicht ein einfaches HTML-FE Modul. Wie gesagt, wo ist egal - Hauptsache davor.

                      Probieren geht über studieren
                      http://www.premium-contao-themes.com

                      Kommentar

                      Lädt...
                      X