"Aktuelle Neuheiten" auf Startseite

  • Hallo,
    habe entdeckt, dass manche Artikel doppelt und dreifach auf der Startseite unter "aktuelle Neuheiten" erscheinen. Bei diesen Artikeln, die eigentlich nur EINMAL im Artikelstamm sind, wurde aktiviert, dass diese auf der Startseite erscheinen sollen. Aber warum erscheinen manche doppelt und dreifach? Ich habe mal in der Datenbank nachgeschaut:
    Die Artikel, die doppelt bzw. dreifach erscheinen sind wie gesagt im Artikelstamm nur EINMAL vorhanden. Die doppelt erscheinenden Artikel wurden jedoch mehreren Kategorien zugeordnet. Und so ist es auch: die wo doppelt erscheinen sind in 2 Kategorien, die dreimal erschienen sind in drei Kategorien zugeordnet. Ich glaube, der Fehler läßt sich schnell beheben...
    Mike

  • Jupp da ists doppeltgemoppelt


    core/classes/class.product.php
    Zeile 785:

    PHP
    1. LEFT JOIN ' . TABLE_PRODUCTS_TO_CATEGORIES . ' p2c ON p.products_id = p2c.products_id


    raus nehmen, dann sollte es funktionieren.


  • schön wäre es...
    nein, es kommt dann ein Fehler "Lieber Kunde... Leider ist ein Fehler...". Als eMail kommt:
    Unknown column 'p2c.categories_id' in 'on clause'
    QUERY:
    SELECT
    *
    FROM
    products p
    LEFT JOIN products_description pd
    ON p.products_id = pd.products_id
    AND pd.language_id = 2


    LEFT JOIN categories c ON c.categories_id =
    p2c.categories_id
    LEFT JOIN ms_products_to_store p2s ON
    p.products_id = p2s.products_id
    WHERE
    p.products_status = 1
    AND p.products_startpage = 1



    AND (p2s.store_1 = 1 OR p2s.store_all = 1)
    ORDER BY p.products_startpage_sort ASC,
    p.products_date_added DESC
    BACKTRACE:
          hhg_db_query_limit(
    SELECT
    *
    FROM
    products p
    LEFT JOIN products_description pd
    ON p.products_id = pd.products_id
    AND..., 10, , true) % line 825, file:
    class.product.php
        product.getModuleNewProducts(null)
    % line 45, file: new_products.php
     
    require(/var/www/multishop/core/modules/new_products.php)
    % line 21, file: center_modules.php
    include(/var/www/multishop/core/center_modules.php)
    % line 78, file: default.php
    include(/var/www/multishop/core/modules/default.php)
    % line 31, file: index.php



    ==== section end ====


    Mike

  • nene, sind hier ja nur noch am kastrieren, sorry habs selbst noch nicht ausprobiert (Mike28 als Versuchskarnickel missbraucht), aber die nächste Zeile können wir auch direkt wech nehmen seh ich grad =)


    PHP
    1. LEFT JOIN ' . TABLE_PRODUCTS_TO_CATEGORIES . ' p2c ON p.products_id = p2c.products_id
    2. LEFT JOIN ' . TABLE_CATEGORIES . ' c ON c.categories_id = p2c.categories_id


    Beide können da raus 8)

  • "hhgag" schrieb:


    nene, sind hier ja nur noch am kastrieren, sorry habs selbst noch nicht ausprobiert (Mike28 als Versuchskarnickel missbraucht), aber die nächste Zeile können wir auch direkt wech nehmen seh ich grad =)


    PHP
    1. LEFT JOIN ' . TABLE_PRODUCTS_TO_CATEGORIES . ' p2c ON p.products_id = p2c.products_id
    2. LEFT JOIN ' . TABLE_CATEGORIES . ' c ON c.categories_id = p2c.categories_id


    Beide können da raus 8) 


    Versuchskarnickel? Macht nichts... Solange es dann am Schluß funktioniert und der HHG-Shop den anderen richtig Konkurrenz macht...


    Nee, aber auch damit klappts nicht. Folg. Fehler:




    Unknown column 'p2s.store_1' in 'where clause'
    QUERY:
    SELECT
    *
    FROM
    products p
    LEFT JOIN products_description pd
    ON p.products_id = pd.products_id
    AND pd.language_id = 2
    WHERE
    p.products_status = 1
    AND p.products_startpage = 1



    AND (p2s.store_1 = 1 OR p2s.store_all = 1)
    ORDER BY p.products_startpage_sort ASC,
    p.products_date_added DESC
    BACKTRACE:
          hhg_db_query_limit(
    SELECT
    *
    FROM
    products p
    LEFT JOIN products_description pd
    ON p.products_id = pd.products_id
    AND..., 10, , true) % line 822, file:
    class.product.php
        product.getModuleNewProducts(null)
    % line 45, file: new_products.php
     
    require(/var/www/multishop/core/modules/new_products.php)
    % line 21, file: center_modules.php
    include(/var/www/multishop/core/center_modules.php)
    % line 78, file: default.php
    include(/var/www/multishop/core/modules/default.php)
    % line 31, file: index.php



    ==== section end ====
     
    Mike

  • Hallo,
    sorry, falsch gelesen!!!


    Hatte gelesen, auch die nächsten zwei, anstatt nur die nächste!


    Wenn Zeile 785 + 786 gelöscht werden -> dann funktioniert es!


    Super!


    Mike

  • Kein Problem =)