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: Automatischer Button zu verwandtem Produkt in product_info

    Parker

    • Mitglied
    • Beiträge: 135
    • Geschlecht:
    Hi Leute,

    ich habe Produkte, welche jeweils ein einziges, sehr ähnliches Produkt, mit etwas anderen Eigenschaften als Verwandten hat. Das eine sind Artikel mit festen Maßen, der jeweils verwandte Artikel hat einen Flächenrechner.
    Die verwandten Produkte haben den Zusatz " W" hinter der Artikelnummer.

    Nun möchte ich gerne in der product_info*.html einen Button einbauen, der unter der folgenden Bedingung erscheint:

    Wenn Artikelnummer + " W" existiert dann zeige Button.

    Zusätzlich muss dann der Link zu dem Artikel mit dieser Artikelnummer generiert werden.

    Ich bin da echt nicht fit drin und gerade beim letzten Punkt ziemlich aufgeschmissen. Weiß da vielleicht jemand Rat?  :)

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34391.0

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Automatischer Button zu verwandtem Produkt in product_info
    Antwort #1 am: 18. Februar 2016, 14:58:27
    In der includes/modules/products_info.php
    Code: PHP  [Auswählen]
    $prod_id_similar=xtc_db_fetch_array(xtc_db_query("SELECT products_id FROM products WHERE products_model='" . $products_id . "W" . "'"));

    if ($prod_id_similar != "Hier eingeben was eine Zeile höher rauskommt mit var_dump wenn kein Artikel gefunden wird") $module_smarty->assign('PROD_SIMILAR_LINK', xtc_href_link(FILENAME_PRODUCTS_INFO , 'products_id='.$prod_id_similar['products_id'] ));
     

    Ungetestet ... könnte Tippfehler enthalten funktioniert aber Theoretisch.

    Parker

    • Mitglied
    • Beiträge: 135
    • Geschlecht:
    Re: Automatischer Button zu verwandtem Produkt in product_info
    Antwort #2 am: 19. Februar 2016, 12:32:29
    Danke Bonsai!

    mit "$module_smarty->assign" geht es nicht. Mit "$info_smaty->assign" schon. Allerdings steht hinter "products_id=" leider nichts.

    Code: PHP  [Auswählen]
    $prod_id_similar=xtc_db_fetch_array(xtc_db_query("SELECT products_id FROM products WHERE products_model='".$products_id." W"."'"));
    $info_smarty->assign('PROD_SIMILAR_LINK', xtc_href_link(FILENAME_PRODUCTS_INFO , 'products_id='.$prod_id_similar['products_id'] ))

    Der SQL Query in der DB liefert auf jeden Fall das richtige Ergebnis. Bin echt kein PHP-Spezi. Hab mal "print_r($prod_id_similar") ausprobiert, was nur "1" zurück lieferte. Mit var_dump steht oben auf der Seite "bool(false)".
    Was mache ich falsch?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Automatischer Button zu verwandtem Produkt in product_info
    Antwort #3 am: 19. Februar 2016, 13:10:29
    was gibt var_dump($prod_id_similar); aus für den Fall dass ein Produkt gefunden wurde, und was für den Fall, das keins gefunden wurde?

    Edit: var_dump ist hierfür geeigneter, weil die Struktur eines Arrays ausgegeben wird.
    http://php.net/manual/de/function.var-dump.php

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Automatischer Button zu verwandtem Produkt in product_info
    Antwort #4 am: 19. Februar 2016, 13:44:09
    Hallo Parker,

    der DB-Query sollte so aussehen.

    Code: PHP  [Auswählen]
    $prod_id_similar=xtc_db_fetch_array(xtc_db_query("SELECT products_id FROM products WHERE products_model='".$product->data['products_model']."W"."'"));

    Ausserdem hast du einen Leerzeichen vor das W gesetzt, siehe unten, das darf es nur haben wenn auch ein Leerzeichen zwischen dem W und dem Rest der Artikelnummer vorhanden ist.

    Code: PHP  [Auswählen]
    .....ts_model='".$products_id." W"."'"));

    PS: Vielleicht sollte man auch noch nach dem Status des Produkts filtern, dann sähe die Abfrage so aus.

    Code: PHP  [Auswählen]
    $prod_id_similar=xtc_db_fetch_array(xtc_db_query("SELECT products_id FROM products WHERE products_status=1 and products_model='".$product->data['products_model']."W"."'"));

    Grüsse
    hanspeter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Automatischer Button zu verwandtem Produkt in product_info
    Antwort #5 am: 19. Februar 2016, 14:48:35
    Nachtrag:

    und dann muss man natürlich noch abhängig vom Abfrageergebnis "assignen", also so

    Code: PHP  [Auswählen]
    if (xtc_not_null($prod_id_similar['products_id'])) $info_smarty->assign('PROD_SIMILAR_LINK', xtc_href_link(FILENAME_PRODUCT_INFO , 'products_id='.$prod_id_similar['products_id'] ));

    danach kann man in /templates/<dein_template>/module/product_info/product_info_.....html die Variable PROD_SIMILAR_LINK wie folgt anwenden.

    Code: XML  [Auswählen]
    {if $PROD_SIMILAR_LINK}<a href="{$PROD_SIMILAR_LINK}">Hier Button</a>{/if}

    Grüsse
    hanspeter

    Parker

    • Mitglied
    • Beiträge: 135
    • Geschlecht:
    Re: Automatischer Button zu verwandtem Produkt in product_info
    Antwort #6 am: 22. Februar 2016, 11:35:53
    Vielen Dank Bonsai und hpzeller! Es hat geklappt.
    Der Code sieht folgendermaßen aus:

    /includes/modules/product_info.php - Im Abschnitt "* assign smarty additional variables or overwrite them"
    Code: PHP  [Auswählen]
        //Link für alternativen Artikel mit "W" am Ende
        $prod_id_similar=xtc_db_fetch_array(xtc_db_query("SELECT products_id FROM products WHERE products_status=1 and products_model='".$product->data['products_model']."W"."'"));
        if ($prod_id_similar != "") {
            $info_smarty->assign('PROD_SIMILAR_LINK', xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$prod_id_similar['products_id'] ));
        }

    /templates/%TEMPLATE%/module/product_info/product_info_v1.html

    Code: PHP  [Auswählen]
    {* Ähnlicher Artikel verfügbar ja / nein *}
    {if $PROD_SIMILAR_LINK != ""}
        <div class="alternativ-artikel"><a href="{$PROD_SIMILAR_LINK}">{#HIER_BUTTON_TEXT#}</a></div>
    {/if}

    @Bonsai: Wie man sieht, ist das Array und somit $PROD_SIMILAR_LINK leer, wenn nichts passendes gefunden wurde.
    PS: Ich nutze bereits modified shop 2.0 und es funktioniert auch hier.
    1 Antworten
    2644 Aufrufe
    15. September 2009, 17:17:16 von web28
    2 Antworten
    2129 Aufrufe
    31. Oktober 2010, 00:39:32 von jannemann
    52 Antworten
    23047 Aufrufe
    06. Februar 2015, 18:04:09 von noRiddle (revilonetz)
    3 Antworten
    1966 Aufrufe
    04. Februar 2018, 21:23:34 von AllyG
               
    anything