rechtstexte für onlineshop
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: smarty Abfrage - Benötige Hilfe/Tip

    Jürgen

    • Viel Schreiber
    • Beiträge: 893
    • Geschlecht:
    smarty Abfrage - Benötige Hilfe/Tip
    am: 21. Juni 2018, 10:29:40
    Hallo,

    ich habe folgende Abfrage:

    Code: XML  [Auswählen]
    {if !strstr($smarty.server.PHP_SELF, $smarty.const.FILENAME_PRODUCTS_NEW)} class="hidden"{/if}>

    Wie kann ich diese um die specials ($smarty.const.FILENAME_SPECIALS) und um eine "Liste" von mehreren catID´s erweitern?

    Danke

    Gruss

    Jürgen

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.006
    • Geschlecht:
    Re: smarty Abfrage - Benötige Hilfe/Tip
    Antwort #1 am: 21. Juni 2018, 16:53:27
    Benutze strpos() weil es deutlich schneller ist.
    {if strpos($smarty.server.PHP_SELF, $smarty.const.FILENAME_PRODUCTS_NEW) === false}
    Wenn ich's richtig verstanden habe willst auch /specials.php und einige Kategorien ausschließen von dem Setzen der Class 'hidden'.
    Das kannst du was die /specials.php anbelangt einfach mittels && anhängen, also so:
    {if strpos($smarty.server.PHP_SELF, $smarty.const.FILENAME_PRODUCTS_NEW) === false && strpos($smarty.server.PHP_SELF, $smarty.const.FILENAME_SPECIALS) === false}Was die CatIDs anbelangt würde ich ein Array mit den betroffenen CatIDs anlegen und dann ebenfalls mittels && angehängt abfragen
    {... && (isset($smarty.get.cPath) && !$smarty.get.cPath|in_array:'ARRAY_NAME')}
    Letztes habe ich nicht getestet !!

    Das Array, wenn es denn so funktioniert wie gesagt, kannst du -insofern du auf min. PHP 5.6 bist - in eine Konstante speichern (z.B. in einem File in /includes/extra/application_top/application_top_end/) und diese Konstante kannst du dann ja im Template genauso aufrufen wie die FILENAME-Konstanten.
    Wenn das mit dem Array nicht geht mußt du die CatIDs wohl einzeln aufführen oder sie im Template mittels Smarty definieren.
    Außerdem steht in cPath evtl. nicht nur eine CatID sondern, wenn es ich um Unterkategorein handelt, sieht es z.B. so aus: 12_13. Das Array muß entprechend aussehen.

    Gruß,
    noRiddle

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: smarty Abfrage - Benötige Hilfe/Tip
    Antwort #2 am: 21. Juni 2018, 17:38:09
    /includes/extra/application_top/application_top_end/define_cat_id.php
    Code: PHP  [Auswählen]
    <?php
    define('cat_id', isset($current_category_id) ? $current_category_id : false);

    define('cat_id_exclude', [1,2,3]); // PHP 7

    Und dann einfach im Template:

    {if ... && (!$smarty.const.cat_id || !$smarty.const.cat_id|in_array:[1,2,3])} class="hidden"{/if}>
    bzw. mit PHP 7:

    {if ... && (!$smarty.const.cat_id || !$smarty.const.cat_id|in_array:$smarty.const.cat_id_exclude)} class="hidden"{/if}>
    Lieben Gruß,
    h-h-h

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.006
    • Geschlecht:
    Re: smarty Abfrage - Benötige Hilfe/Tip
    Antwort #3 am: 21. Juni 2018, 17:47:05
    Hi h-h-h :-), alles gut bei dir ?

    Mittels
    Code: PHP  [Auswählen]
    const CAT_ID_EXCLUDE = array('1', '2', '3');
    geht das auch ab PHP 5.6 .

    *EDIT*
    Das mit $current_category_id ist natürlich nice.
    *END_EDIT*

    Gruß,
    noRiddle

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: smarty Abfrage - Benötige Hilfe/Tip
    Antwort #4 am: 21. Juni 2018, 18:11:37
    Hi noRiddle,
    danke, mir geht es gut, hoffe dir auch - beblessedbro.
    Imho funktioniert die PHP 5.6 Variante nur in Klassen, ich hatte ein Problem mit der Array-Konstanten Variante vor ein paar Wochen.

    LG h-h-h

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.006
    • Geschlecht:
    Re: smarty Abfrage - Benötige Hilfe/Tip
    Antwort #5 am: 21. Juni 2018, 18:24:45
    const außerhalb einer Klasse geht seit PHP 5.3, siehe hier im PHP-Manual.

    Ebenfalls beblessedbro :-) .

    Gruß,
    noRiddle

    Jürgen

    • Viel Schreiber
    • Beiträge: 893
    • Geschlecht:
    Re: smarty Abfrage - Benötige Hilfe/Tip
    Antwort #6 am: 21. Juni 2018, 18:26:36
    :-)

    Danke,

    denke ich komme jetzt klar...

    Gruss

    Jürgen
    4 Antworten
    3179 Aufrufe
    23. Juli 2011, 13:00:25 von koshiro
    3 Antworten
    1764 Aufrufe
    19. August 2016, 12:47:16 von Teratek
    3 Antworten
    1759 Aufrufe
    26. Januar 2017, 17:25:29 von awids
    2 Antworten
    5105 Aufrufe
    25. Juni 2012, 19:03:39 von Traumkunst