Ankündigung

Einklappen
Keine Ankündigung bisher.

Anzahl der Suchergebnisse

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

  • Anzahl der Suchergebnisse

    Moin zusammen,

    wie kann ich mir die Anzahl der Suchergebnisse im CC bei dem Template -> customcatalog_directory_ajaxsearch_results.html5 ausgeben lassen?

    VG Peter

  • #2
    Entweder per Inserttag (4. von oben) oder im Template einfach die Ergebnisse auszählen und ausgeben.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Zitat von Tim Beitrag anzeigen
      Entweder per Inserttag (4. von oben) oder im Template einfach die Ergebnisse auszählen und ausgeben.

      Tim, wenn ich den Themedesigner nicht nutze, kann ich das aus dem customcatalog_directory_ajaxsearch_results.html5 entfernen ?

      PHP-Code:
        <?php  /**  * Don't worry: The Javascript stuff will only be rendered when the ThemeDesigner is in edit mode  */   if(!\Config::get('pct_themedesigner_hidden')): ?>  <?php $objThemeDesigner = new \PCT\ThemeDesigner?>    <script type='text/javascript'>  /* <![CDATA[ */    jQuery(document).ready(function()  {      jQuery('.item-wrapper a').click(function(event)      {          event.preventDefault();                    var strUrl = '<?= $GLOBALS['PCT_THEMEDESIGNER']['ajaxUrl']; ?>';          if(!strUrl)          {              strUrl = location.href;          }                    var url = jQuery(this).attr('href');          if(url === undefined || url == '')          {              return false;          }                            jQuery.ajax(          {              method  : "GET",              url     : strUrl,              data    : {'themedesigner':1,'action':'updateIframeUrl','url':url,'theme':'<?= $objThemeDesigner->getTheme(); ?>'},              success : function(response)              {                if(url.indexOf('?') >= 0)                {                    var tmp = url.split('?');                    url = tmp[0];                }                                if(url.indexOf('?') >= 0)                  {                      url += '&themedesigner_iframe=1';                  }                  else                  {                      url +='?themedesigner_iframe=1';                  }                                console.log('Redirect iframe to: '+url);                          jQuery('#themedesigner_iframe',parent.document).attr('src',url);           }          });      });  });    /* ]]> */  </script>    <?php endif; ?>

      Kommentar


      • #4
        Es wird ohne TD gar nicht ausgegeben, auch nicht, wenn es in der localconfig.php keine pct_themedesigner_hidden Variable gibt. Eigentlich braucht man nichts löschen.
        Wenn doch löschen, alles ab der If bis zum endif
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Ich würde gerne am Anfang der Ausgabeliste die Gesamtanzahl der Szchergebnisse anzeigen.
          <?php echo count($this->entries); ?> gibt mir aber nur Anzahl der Ergebnisse auf der Seite an (je nachdem wieviele ich im Listenmodul defniert habe)
          Wie komme ich aber im Listentemplate an die Gesamtzahl heran?
          In meinem speziellen Fall wäre das das Template customcatalog_cardealer_list.html5

          Kommentar


          • #6
            Siehe Inserttags: https://forum.premium-contao-themes....log-inserttags
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Nehme diesen Beitrag wieder auf.
              Ich habe wie empfohlen mittels {{customcatalog::TABLENAME-OR-ID::totaloptional)FILTERSET-IDS}} die Anzahl der (gefilterten) Suchergebnisse ausgegeben.
              Jetzt hätte ich gerne, dass dies nur dann angezeigt wird, wenn das Ergebnis größer 1 ist. (über eine if-Abfrage im template)
              Offensichtlich ist der hier übergebene Wert ein String. Deswegen habe ich versucht den Wert in Integer zu konvertieren und dann die Abfrage zu machen.
              Leider ist das aber nicht von Erfolg gekrönt, da jede Umwandlung damit endet, dass der Wert auf 0 gesetzt wird.
              Gibts eine Möglichkeit den ausgelesenen Wert als Zahl auszugeben?

              Kommentar


              • #8
                Du kannst via file::MEIN-TEMPLATE.html5 auch ein Template an Ort und Stelle einbinden. Darin kannst du if Abfragen schalten.
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Cool, danke für den Tipp.
                  Mein Problem ist, dass ich den übergebenen Wert nicht mit der if-Abfrage '>1' abfragen kann.
                  Es sei den ich habe einen Gedankenfehler:
                  Code:
                  <?php $anzahl="{{customcatalog::cc_cardealer::total::51}}";
                      settype($anzahl, "integer");
                      if ($anzahl>1): ?>
                  zur Erklärung.
                  Die Ausgabe zeigt in meinem Fall prinzipiell den korrekten Wert 59 an.
                  Da er aber vom Typ String ist, funktioniert meine Abfrage nicht.
                  Deswegen im zweiten Schritt die Umwandlung in den Integer-Wert.
                  Dieser Wert ist aber nach der Umwandlung 0 und damit funktioniert meine Abfrage wieder nicht.
                  Interessanterweise hat der String 42 Zeichen, was auch immer da drinnen steht. Mit den mir bekannten PHP-Befehlen konnte ich den String aber nicht auf die relevanten Inhalte reduzieren, möglicherweise ist hier noch der Hund begraben, warums nicht geht...
                  Zuletzt geändert von office@narosy.at; 02.06.2021, 14:37.

                  Kommentar


                  • #10
                    php ist nicht sonderlich strikt bei der Typisierung. Eine Wertkonvertierung kann durch direkte Dekleration erfolgen.
                    Das Inserttag muss vor der Abfrage aufgelöst werden. Siehe replaceInsertTags Methode in Contao.

                    Code:
                    <?php
                    $anzahl = (int)$this->replaceInsertTags('{{customcatalog::cc_cardealer::total::51}}');
                    ?>
                    <?php if( $anzahl > 1): ?>
                    ...
                    <?php endif; ?>
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      hat geklappt, danke!

                      Kommentar

                      Lädt...
                      X