Jump to content
heiko813

Kategorie Auflistung der Produkte komisch

Recommended Posts

Hi,

ich hab folgendes Problem.
Wir haben nen OSC 2.3 mit unishop Kauftemplate.

Wenn ich über die Navigation in eine Kategorie gehe (z.B. /index.php?cPath=218_237&osCsid=26d5830838bcfb363b1d81ccc01d0720) fehlen einige Produkte. Wenn ich dann die Produkte sortieren, oder eine Seite vor und wieder zurück springe, sind alle Produkte da. (/index.php?cPath=218_237&page=1&sort=2d&osCsid=26d5830838bcfb363b1d81ccc01d0720)

Das muss ja irgendwas mit dem "sort" in der URL zu tun haben, oder woran kann das liegen? Könnt ihr hier helfen, oder muss ich nun über Templatemonster irgendwie versuchen, an Support zu gelangen?

Beispiel:
http://www.beta-motor-shop.de
Navigation Beta RR/RE 125 -> diverses Zubehör = keine Fußrasten "Fußrasten Beta Factory" da.
Seite vor und zurück, oder Klick auf Sortierung: Fußrasten da...

Danke schonmal!

Share this post


Link to post
Share on other sites

danke noch für die Antwort. Wie gesagt, das Problem konnte ich durch vergleichen mit den originalen Dateien rausfinden und lösen.

 

Wie kann ich die Grund- / Anfangssortierung einer Kategorie ändern? Da finde ich leider keinen richtigen Hinweis...

Share this post


Link to post
Share on other sites

Das Feld bei den Kategorie-Einstellungen ist doch nur für die Sortierung der Kategorien selber, oder sehe ich das falsch?

Das Plugin habe ich auch schon gesehen. Aber eigentlich möchte ich nur die Artikel im Shop nach "Neuheit" und nicht (wie jetzt) alphabetisch sortieren. Und nicht jeden Artikel einzeln

Share this post


Link to post
Share on other sites
vor 6 Stunden, heiko813 said:

Das Feld bei den Kategorie-Einstellungen ist doch nur für die Sortierung der Kategorien selber, oder sehe ich das falsch?

Das Plugin habe ich auch schon gesehen. Aber eigentlich möchte ich nur die Artikel im Shop nach "Neuheit" und nicht (wie jetzt) alphabetisch sortieren. Und nicht jeden Artikel einzeln

Das siehst Du absolut richtig.

in der /catalog/index.php finde:

for ($i=0, $n=sizeof($column_list); $i < $n; $i++) {
      switch ($column_list[$i]) {
        case 'PRODUCT_LIST_MODEL':
          $select_column_list .= 'p.products_model, ';
          break;
        case 'PRODUCT_LIST_NAME':
          $select_column_list .= 'pd.products_name, ';
          break;
        case 'PRODUCT_LIST_MANUFACTURER':
          $select_column_list .= 'm.manufacturers_name, ';
          break;
        case 'PRODUCT_LIST_QUANTITY':
          $select_column_list .= 'p.products_quantity, ';
          break;
        case 'PRODUCT_LIST_IMAGE':
          $select_column_list .= 'p.products_image, p.image_folder, p.image_display, ';
          break;
        case 'PRODUCT_LIST_WEIGHT':
          $select_column_list .= 'p.products_weight, ';
          break;
      }
    }

und ändere zu:

for ($i=0, $n=sizeof($column_list); $i < $n; $i++) {
      switch ($column_list[$i]) {
        case 'PRODUCT_LIST_MODEL':
          $select_column_list .= 'p.products_model, ';
          break;
        case 'PRODUCT_LIST_NAME':
          $select_column_list .= 'p.products_date_added, pd.products_name, '; // <---- hier dies hinzufügen p.products_date_added, 
          break;
        case 'PRODUCT_LIST_MANUFACTURER':
          $select_column_list .= 'm.manufacturers_name, ';
          break;
        case 'PRODUCT_LIST_QUANTITY':
          $select_column_list .= 'p.products_quantity, ';
          break;
        case 'PRODUCT_LIST_IMAGE':
          $select_column_list .= 'p.products_image, p.image_folder, p.image_display, ';
          break;
        case 'PRODUCT_LIST_WEIGHT':
          $select_column_list .= 'p.products_weight, ';
          break;
      }
    }

in der /catalog/index.php finde:

switch ($column_list[$sort_col-1]) {
        case 'PRODUCT_LIST_MODEL':
          $listing_sql .= " order by p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_NAME':
          $listing_sql .= " order by pd.products_name " . ($sort_order == 'd' ? 'desc' : '');
          break;
        case 'PRODUCT_LIST_MANUFACTURER':
          $listing_sql .= " order by m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_QUANTITY':
          $listing_sql .= " order by p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_IMAGE':
          $listing_sql .= " order by pd.products_name";
          break;
        case 'PRODUCT_LIST_WEIGHT':
          $listing_sql .= " order by p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_PRICE':
          $listing_sql .= " order by final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
      }

und ändere zu:

switch ($column_list[$sort_col-1]) {
        case 'PRODUCT_LIST_MODEL':
          $listing_sql .= " order by p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_NAME':
          $listing_sql .= " order by p.products_date_added, pd.products_name " . ($sort_order == 'd' ? 'desc' : ''); // <---- hier dies hinzufügen p.products_date_added, 
          break;
        case 'PRODUCT_LIST_MANUFACTURER':
          $listing_sql .= " order by m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_QUANTITY':
          $listing_sql .= " order by p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_IMAGE':
          $listing_sql .= " order by pd.products_name";
          break;
        case 'PRODUCT_LIST_WEIGHT':
          $listing_sql .= " order by p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
        case 'PRODUCT_LIST_PRICE':
          $listing_sql .= " order by final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
      }

 

Danach werden die Artikel zuerst nach dem 'products_date_added' sortiert und dann nach Produktname. Wenn Du auch bei den anderen Angaben nach ''products_date_added' zuerst sortieren willst, dann auch da entsprechend ändern.

Würde mich freuen, wenn Dir diese Lösung hilft und Du dann ein gefällt mir klickst. Danke!

Edited by oscspezialist

Share this post


Link to post
Share on other sites

Noch was vergessen:

dies:

case 'PRODUCT_LIST_IMAGE':
          $select_column_list .= 'p.products_image, p.image_folder, p.image_display, ';
          break;

gibt es möglicherweise so nicht in Deiner /catalog/index.php Diese Einträge sind nur vorhanden, wenn  das add-on "protected images" eingebunden ist.
Was bei mir der Fall ist.

sollte eher so aussehen:

case 'PRODUCT_LIST_IMAGE':
          $select_column_list .= 'p.products_image, ';
          break;

 

Share this post


Link to post
Share on other sites

×