Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: Artikelanzahl pro Seite als Dropdown

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #60 am: 04. Oktober 2011, 06:53:18
    Hallo und herzlich Willkommen,
    die Anzahl der Produkte pro Listenseite kannst Du im Adminbereich einstellen.
    "Konfiguration" -> "Maximum Werte" und dort die Zahlen für die jeweiligen Seiten eingeben.
    So wie ich es verstehe hast Du diese Anleitung umsonst eingebaut.  :whistle:

    Besten Gruß und viel Erfolg

    h-h-h

    büchermaus

    • Neu im Forum
    • Beiträge: 12
    • Geschlecht:
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #61 am: 04. Oktober 2011, 09:24:30
     :doh:
    Hallo nochmal und Besten Dank für die schnelle Hilfe @h-h-h
    Hab alles wieder rausgeschmissen - eingestellt - und nun klappt's so, wie ich es will.

    Naja ... beschäftige mich erst seit 3 Tagen mit diesem Shop-Prog und wie schon gesagt ... absoluter PHP-Laie ... und hier im Forum hatte ich nichts anderes gefunden ...

    Also nochmal danke.

    Besten Gruß
    Büchermaus

    birder1601

    • Neu im Forum
    • Beiträge: 2
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #62 am: 19. Oktober 2011, 10:38:30
    Hallo,
    vielen Dank für das tolle Modul. Es funktioniert eigentlich alles bestens bis auf ein Problem.

    Wenn man die Anzahl der Artikel ändert und danach auf ein Produkt klickt und im Browser den "Zurück Button" drückt, zeigen die Browser ein Popup mit einer Warnmeldung an, ob man das Formular wirklich erneut absenden will.

    Habt Ihr das Problem auch?

    birder1601

    • Neu im Forum
    • Beiträge: 2
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #63 am: 24. Oktober 2011, 15:08:06
    Hat wirklich niemand anderes das Problem? Es macht Sinn, dass die Meldung kommt, da das post Formular ja nochmal abgeschickt wird.

    prodigi23

    • Neu im Forum
    • Beiträge: 12
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #64 am: 23. Januar 2012, 15:32:45
    Hi,

    Habe soeben den script erweitert nach der Anleitung und es funktioniert auch alles super. Das einzige Problem was ich habe ist, dass dann auf der Seite in Dropdown nicht die Werte von PRLL_xx stehen, sondern der Variablenname selbst!

    Also:
    statt 'show all items' steht 'PRLL_STANDARD'
    statt '5 items per page' steht 'PRLL_5'
    usw...

    Kann mir da jemand helfen?

    Vielen Dank im voraus

    prodigi23

    • Neu im Forum
    • Beiträge: 12
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #65 am: 24. Januar 2012, 14:09:14
    Hi,

    Hat den niemand das Problem schon gehabt oder kennt es? Kann mir denn niemand helfen?

    Wäre echt toll!

    e-moves

    • Fördermitglied
    • Beiträge: 248
    • Geschlecht:
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #66 am: 24. Januar 2012, 14:38:58
    Hallo,

    ich würde gern die Artikelanzahl pro Seite nicht als Dropdown anzeigen lassen, sondern als einfache Liste/Zeile (siehe Screenshot).
    Kann mir jemand einen Tipp geben?

    Grüße
    Dirk

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #67 am: 12. Februar 2012, 16:59:27
    Hallo zusammen,

    kann man das mit der Länge der Produktliste auf die specials.php ausweiten???

    Danke und schönen Sonntag aus Oberbayern

    Jürgen

    jeanluc

    • Fördermitglied
    • Beiträge: 23
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #68 am: 09. März 2012, 22:10:51
    Hallo,

    wir wollten diese Funktion für den Relaunch unseres Shops benutzen. Leider gibt es das von birder1601 zuvor beschriebene Problem.

    Das Modul wird doch sicherlich von einigen benutzt. Hat jemand eine Lösung für das Problem, dass der Browser die Meldung "Formular erneut senden" bringt, wenn man den Zurückbutton benutzt?

    Folgendes sollte jeder, der das Modul so wie hier beschrieben eingebaut hat reproduzieren können:

    1.) Man kommt auf die product_listing und wählt die pro Seite anzuzeigenden Artikel im Dropdown aus
    2.) Man klickt auf einen Artikel um in die product_info zu kommen
    3.) Man klickt den Zurück-Button im Browser, um wieder in die Kategorieseite zu gelangen -> Browser bringt eine Warnmeldung.

    Für mich ist das ein typisches Nutzerverhalten. Insbesondere die Verwendung des Zurück-Buttons im Browser, um von der Produktdetailseite wieder in die Kategorie zu gelangen ist doch ein gängiges Vorgehen. Wenn ich nun aber zuvor ausgewählt habe, dass mir (z.B.) 50 statt nur 20 Artikel angezeigt werden, bekomme ich nach jedem Artikel, den ich mir anschaue, die Browser-Warnung. Die Kunden, die nicht sofort verschreckt geflohen sind, geben nach dem dritten Artikel entnervt auf und sind weg von der Seite.

    Das Modul ist m.E. somit in der bisherigen Form also ein absolutes NOGO! Was schade ist, da ich die Funktion an sich für äußerst sinnvoll halte.

    Hat jemand einen Ansatz, wie man hier doch noch die Kurve kriegen kann? Was ist mit GET statt POST? Spricht da etwas dagegen? Würde das zusammen mit den SUMA-URLs funktionieren?

    Grüße
    Stefan

    jeanluc

    • Fördermitglied
    • Beiträge: 23
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #69 am: 10. März 2012, 00:33:15
    Ok...

    Ich habe mich jetzt gleich einmal selbst daran versucht. Der Fehler tritt natürlich nicht auf, wenn wir die Variable aus dem Dropdown nicht mit POST sondern mit GET übergeben.

    Ich habe dazu das Modul entgegen der Anleitung wie folgt eingebaut:

    includes\application_top.php:

    Code: PHP  [Auswählen]
    // --- prlistlen beginn --------------------------------------
        if (isset($_GET['prllset'])) {
          $_SESSION['prllset'] = intval($_GET['prllset']);
        }
        if( $_SESSION['prllset']==0 || $_SESSION['prllset']=='') {
          $_SESSION['prllset']=10000; //define here max. Products to be listet
        }
    // --- prlistlen end --------------------------------------

    und in includes\modules\product_listing.php:
    Code: PHP  [Auswählen]
    //BOF - Markus - 2010-08-25 - Anzahl Artikel je Seite
    //prll_dropdown BEGINS
    // Abfrage ob die Sortieranzeige im normalen Katalog ist, oder in der Suche - Abhängig davon wird der aufzurufende Dateiname
    // geändert bei Formularauslösung. Diese Version ist nicht sauber, eigentlich muss das Dropdown mit der Seitenanzahl aus dem
    // Produktlisting ausgegliedert werden!

    $prll_sort = array(array('id' => '0', 'text' => PRLL_STANDARD));
    $prll_sort[] = array('id' => '6', 'text' => PRLL_6);
    $prll_sort[] = array('id' => '15', 'text' => PRLL_15);
    $prll_sort[] = array('id' => '30', 'text' => PRLL_30);
    $prll_sort[] = array('id' => '60', 'text' => PRLL_60);
    $prll_sort[] = array('id' => '100', 'text' => PRLL_100);
    $prll_sort[] = array('id' => '500', 'text' => PRLL_500);
     
    $prll_dropdown = xtc_draw_form('prll_links', xtc_href_link(basename($PHP_SELF)), 'get');
    foreach($_GET as $name => $value){if ($name != 'prllset'){$prll_dropdown .= xtc_draw_hidden_field($name,$value);}}
    $prll_dropdown .= xtc_draw_pull_down_menu('prllset', $prll_sort, isset($_SESSION['prllset']) ? $_SESSION['prllset']:'', 'onchange="this.form.submit()"');
    $prll_dropdown .= '</form>';
    $module_smarty->assign('PRLL_LINKS', $prll_dropdown);
    //prll_dropdown END Anzahl Artikel je Seite

    Einziger Haken an der Sache: Ich habe es jetzt auf die schnelle erst lokal auf dem Testserver ohne URL-Rewriting getestet. Keine Ahnung, ob es auch mit SUMA-URLs funktioniert???

    Ich glaube aus früheren Postings in diesem Thread herausgelesen zu haben, dass ursprünglich schonmal mit GET gearbeitet wurde und man dann auf POST umgestiegen ist. Gibt es hierfür einen driftigen Grund, den ich vielleicht gerade übersehe?

    Freue mich über Kommentare und Feedback und werde versuchen das Ganze schnellstmöglich auch mit aktiviertem URL-Rewriting zu testen.

    Grüße
    Stefan

    jeanluc

    • Fördermitglied
    • Beiträge: 23
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #70 am: 10. März 2012, 22:30:39
    So... Ich habs getestet und: funktioniert!

    Einziger Wermutstropfen: nach der Auswahl eines Wertes aus dem Dropdown wird die Adresse der Seite trotz aktivierter SUMA-URLs mit get-Parametern angezeigt. Also z.B. so:  - www.meine-domain.tdl/index.php?cPath=32&prllset=60 - Wenn man dann aber auf irgendeine andere Seite klickt, wird die Adresse wieder in suchmaschinenfreundlicher Umschreibung ausgegeben. Ich denke, dass "Problem" ist von daher vernachlässigbar.

    Zudem habe ich das Modul bei mir so abgeändert, dass nicht per default alle Artikel angezeigt werden, sondern (beispielsweise) 15 Artikel.

    Hier noch einmal die komplette Anleitung gemäß dem ersten Posting, jedoch mit meinen kleinen Änderungen.


    /includes/application_top.php

    Suche:

    Code: PHP  [Auswählen]
    // verify the IP address if the feature is enabled
        if (SESSION_CHECK_IP_ADDRESS == 'True') {
          $ip_address = xtc_get_ip_address();
          if (!isset ($_SESSION['SESSION_IP_ADDRESS'])) {
             $_SESSION['SESSION_IP_ADDRESS'] = $ip_address;
          }

          if ($_SESSION['SESSION_IP_ADDRESS'] != $ip_address) {
            session_destroy();
            xtc_redirect(xtc_href_link(FILENAME_LOGIN));
          }
        }
     
    und füge danach ein:
    Code: PHP  [Auswählen]
    // --- prlistlen beginn --------------------------------------
        if (isset($_GET['prllset'])) {
          $_SESSION['prllset'] = intval($_GET['prllset']);
        }
            if( $_SESSION['prllset']==0 || $_SESSION['prllset']=='') {$_SESSION['prllset']=15;} //preset
    // --- prlistlen end --------------------------------------
     

    /includes/modules/product_listing.php

    Suche:

    Code: PHP  [Auswählen]
     $listing_split = new splitPageResults($listing_sql, (int)$_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
     
    Ersetze das durch:

    Code: PHP  [Auswählen]
    $listing_split = new splitPageResults($listing_sql, (isset($_GET['page']) ? (int)$_GET['page'] : 1), (isset($_SESSION['prllset']) ? (int)$_SESSION['prllset'] : ''), MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
     
    Suche:

    Code: PHP  [Auswählen]
    // get default template
        if ($category['listing_template'] == '' or $category['listing_template'] == 'default') {
          $files = array ();
          if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/'))

    {
     
    und setze davor:

    Code: PHP  [Auswählen]
    //BOF - Markus - 2010-08-25 - Anzahl Artikel je Seite
    //prll_dropdown BEGINS
    // Abfrage ob die Sortieranzeige im normalen Katalog ist, oder in der Suche - Abhängig davon wird der aufzurufende Dateiname
    // geändert bei Formularauslösung. Diese Version ist nicht sauber, eigentlich muss das Dropdown mit der Seitenanzahl aus dem
    // Produktlisting ausgegliedert werden!


    $prll_sort = array(array('id' => '6', 'text' => PRLL_6));
    $prll_sort[] = array('id' => '15', 'text' => PRLL_15);
    $prll_sort[] = array('id' => '30', 'text' => PRLL_30);
    $prll_sort[] = array('id' => '60', 'text' => PRLL_60);
    $prll_sort[] = array('id' => '120', 'text' => PRLL_120);
    $prll_sort[]=  array('id' => '999', 'text' => PRLL_ALL);
     
    $prll_dropdown = xtc_draw_form('prll_links', xtc_href_link(basename($PHP_SELF)), 'get');
    foreach($_GET as $name => $value){if ($name != 'prllset'){$prll_dropdown .= xtc_draw_hidden_field($name,$value);}}
    $prll_dropdown .= xtc_draw_pull_down_menu('prllset', $prll_sort, isset($_SESSION['prllset']) ? $_SESSION['prllset']:'15', 'onchange="this.form.submit()"');
    $prll_dropdown .= '</form>';
    $module_smarty->assign('PRLL_LINKS', $prll_dropdown);
    //prll_dropdown END Anzahl Artikel je Seite
     

    /templates/xtc5/module/product_listing/product_listing_v1.html
    An angewünschter Stelle den Smarty Tag einfügen:

    Code: PHP  [Auswählen]
    {$PRLL_LINKS}
     

    lang/german/german.php:

    das hier am Ende einfügen:

    Code: PHP  [Auswählen]
    //Artikelanzahl pro Seite als Dropdown
    define('PRLL_ALL', 'Alle Artikel anzeigen');
    define('PRLL_6', '6 Artikel je Seite');
    define('PRLL_15', '15 Artikel je Seite');
    define('PRLL_30', '30 Artikel je Seite');
    define('PRLL_60', '60 Artikel je Seite');
    define('PRLL_120', '120 Artikel je Seite');
     
    lang/english/english.php:

    das hier am Ende einfügen:

    Code: PHP  [Auswählen]
    define('PRLL_ALL', 'show all items');
    define('PRLL_6', '6 items per page');
    define('PRLL_15', '15 items per page');
    define('PRLL_30', '30 items per page');
    define('PRLL_60', '60 items per page');
    define('PRLL_120', '120 items per page');
     

    Noch eine kleine Anmerkung:

    "alle anzeigen" heißt hier nicht wirklich alle Artikel, sondern "nur" 999. Wer mehr Artikel in einer Kategorie hat, muss den Wert nach oben anpassen. Aber in diesem Thread wurde schon die Sinnhaftigkeit bzw. Zweckmäßigkeit von "alle anzeigen" bei einer derart hohen Anzahl an Artikeln in Frage gestellt (zu recht). Also jeder sollte selbst entscheiden, ob man nicht besser ggf. ein oberes Limit setzt. Dazu kann kann man PRLL_ALL einfach rausnehmen.

    Ich denke, das sollte so ganz gut funktionieren. Bitte mal eifrig testen! Fragen und Feedback erwünscht!

    Grüße
    Stefan

    jeanluc

    • Fördermitglied
    • Beiträge: 23
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #71 am: 11. März 2012, 02:05:20
    Ich nochmal...

    @Dirk und alle die Ähnliches vor haben:

    ich würde gern die Artikelanzahl pro Seite nicht als Dropdown anzeigen lassen, sondern als einfache Liste/Zeile (siehe Screenshot).
    Kann mir jemand einen Tipp geben?

    Mein Ansatz wäre:

    Verwende, um eine Liste zu bekommen, Radio-Buttons anstelle des Dropdowns! Diese stylest du mit css so hin, dass sie aussehen wie normale Links. Das haben wir bei uns mit der Herstellerauswahl in den Kategorieseiten auch so gemacht.

    Man müsste also statt
    Code: PHP  [Auswählen]
    xtc_draw_pull_down_menu();

    irgendwie
    Code: PHP  [Auswählen]
    xtc_draw_radio_field();

    in der product_listing.php verbauen.

    und dann im css wie gesagt für die inputs
    Code: CSS  [Auswählen]
    visibility:hidden;

    Das wäre mein Ansatz. Bedarf aber einiger Bastelarbeit. Ich habe es auf die schnelle gerade nicht hinbekommen.

    Grüße
    Stefan

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #72 am: 11. März 2012, 11:47:22
    Hallo büchermaus.

    Da ich nicht weiß, wie man dich sonst erreichen soll, versuche ich's über diesen Weg.
    Egal auf was man auf deiner Seite klickt kommt folgende Meldung:

    "Not Found
    The requested document was not found on this server.

    Web Server at buch-online-shop.de"

    Da stimmt wohl was nicht...

    Gruß,
    noRiddle

    e-moves

    • Fördermitglied
    • Beiträge: 248
    • Geschlecht:
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #73 am: 30. März 2012, 11:14:30
    Hallo Stefan,
    bin erst jetzt dazu gekommen das mit dem xtc_draw_radio_field zu testen.
    Ist schon etwas tricky - habs bisher nicht hinbekommen.
    Besten Dank auch für die Anleitung mit der GET-Variante.
    Die POST-Variante ist für einen Shop wirklich untragbar. Meldungen wie "Dokument ungültig" nach jedem Zurück-Klick sind der absolute Konversions-Killer.
    Gut wäre, wenn sich noch mal ein PHP-Profi dazu äußern würde ob es dagegen z.B. sicherheitsrelevante Einwände gibt.
    Grüße
    Dirk

    jeanluc

    • Fördermitglied
    • Beiträge: 23
    Re: ANLEITUNG: Artikelanzahl pro Seite als Dropdown
    Antwort #74 am: 30. März 2012, 12:07:23
    Jap... das mit den Radio-Buttons konnte ich auf die schnelle auch nicht hinbasteln  :mhhh:

    Und zur GET- statt POST-Variante: Ich habs jetzt seit zwei Wochen produktiv am Laufen und hab keinerlei Probleme damit! Funktioniert einwandfrei. Kann mir jetzt auch keine sicherheitstechnischen Einwände vorstellen. Aber bin auch kein Profi ;)

    Shop Hosting
    0 Antworten
    2562 Aufrufe
    23. Mai 2011, 11:52:50 von Thomas
    0 Antworten
    4049 Aufrufe
    24. Juli 2017, 08:48:36 von Tomcraft
    38 Antworten
    19994 Aufrufe
    07. März 2021, 15:50:43 von RobtheTop
               
    anything