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: Kurze Frage zu Smarty Anwendung

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Kurze Frage zu Smarty Anwendung
    am: 11. September 2013, 13:55:18
    Hallo Zusammen,
    ich bin grad etwas am basteln. Ich habe mir schon die passende Smarty Doku durchgelesen aber es will nicht funktionieren.

    Ich möchte bei zwei bestimmten Produkten den Warenkorb Button ausblenden und habe es wie folgt versucht:

    Code: PHP  [Auswählen]
    {if $module_data.PRODUCTS_NAME neq "Produktname 1" || $module_data.PRODUCTS_NAME neq "Produktname 2"}{$module_data.PRODUCTS_BUTTON_BUY_NOW}{/if}

    Wenn ich nur einen Produktnamen verwende funktioniert es. Bei zwei Produktnamen leider nicht.
    Auch nicht, wenn ich jede Abfrage für sich nochmal in Klammern setze wie folgt:

    Code: PHP  [Auswählen]
    {if ($module_data.PRODUCTS_NAME neq "Produktname 1") || ($module_data.PRODUCTS_NAME neq "Produktname 2")}{$module_data.PRODUCTS_BUTTON_BUY_NOW}{/if}

    Beide Varianten (ob mit || oder OR) geben keine Fehlermeldung aus. Mit einem Produkt ohne OR funktioniert es wie gesagt wunderbar.

    Laut Smarty Doku sollte es aber genauso funktionieren.
    Siehe http://www.smarty.net/docsv2/de/language.function.if.tpl

    Vielleicht kann mir einer von euch helfen und mir sagen was ich falsch mache.

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

    Frank_R

    • Mitglied
    • Beiträge: 123
    Re: Kurze Frage zu Smarty Anwendung
    Antwort #1 am: 11. September 2013, 14:32:09
    Der Fehler ist in der Logik. Hier musst Du statt einer oder-Verknüpfung eine und-Verknüpfung verwenden.

    Gruss
    Frank

    cYbercOsmOnauT

    • modified Team
    • Beiträge: 914
    • Geschlecht:
    Re: Kurze Frage zu Smarty Anwendung
    Antwort #2 am: 11. September 2013, 14:45:14
    Bevor Du nachfragst.. Frank meint es so
    Code: PHP  [Auswählen]
    {if ($module_data.PRODUCTS_NAME != "Produktname 1") && ($module_data.PRODUCTS_NAME != "Produktname 2")}{$module_data.PRODUCTS_BUTTON_BUY_NOW}{/if}
    Ob man neq oder != verwendet im if von Smarty ist egal. Ich mag != lieber, weil es genauso aussieht wie in PHP ;)
    Viele Grüße,
    Tekin Birdüzen - Zend Certified Engineer

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Kurze Frage zu Smarty Anwendung
    Antwort #3 am: 11. September 2013, 14:49:14
    Exakt, ist ein verständlicher Denkfehler es mit OR machen zu wollen.
    Du solltest es allerdings mit $module_data.PRODUCTS_ID machen um sprachunabhängig zu sein.

    Gruß,
    noRiddle

    cYbercOsmOnauT

    • modified Team
    • Beiträge: 914
    • Geschlecht:
    Re: Kurze Frage zu Smarty Anwendung
    Antwort #4 am: 11. September 2013, 14:57:14
    Man muss die Logik nur richtig im Kopf haben.

    Denn "Wenn es nicht A oder B ist, dann zeige an" bedeutet ausgeschrieben nicht if not A or not A sondern entweder if not (A or B) oder if not A and not B. Die erste Logik stellt es so dar wie es im Text steht und beim zweiten wäre es ausgeschrieben, "Wenn es nicht A und auch nicht B ist, dann...".

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Re: Kurze Frage zu Smarty Anwendung
    Antwort #5 am: 11. September 2013, 15:16:23
    Hallo Zusammen,
    besten Dank für die schnelle Hilfe. So funktioniert es. Für die Zukunft bin ich dann etwas schlauer. Eindeutig ein Denkfehler meinerseits.

    Merci!
    1 Antworten
    2545 Aufrufe
    13. März 2011, 10:30:12 von Modulfux
    5 Antworten
    3293 Aufrufe
    26. Juni 2014, 13:33:11 von baustelle
    20 Antworten
    9544 Aufrufe
    13. November 2010, 23:39:04 von REV
    2 Antworten
    2495 Aufrufe
    07. Juli 2012, 15:33:31 von tigerdeutschland
               
    anything