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: Kategoriebeschreibung nur auf 1. Seite

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Kategoriebeschreibung nur auf 1. Seite
    am: 09. Juni 2014, 19:32:08
    Hallo,

    das Thema wurde hier einige Male angesprochen, aber nie gelöst.

    Ich will die Kategoriebeschreibung in der product_listing_v1.html, also der Produktübersicht, nur auf der 1. Seite anzeigen und auf allen Folgeseiten, also page2, page3 usw. nicht. Es ist die neueste Shopversion.

    Wie ist das zu lösen?

    Gruß
    Roberto75

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

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #1 am: 10. Juni 2014, 00:16:20
    Hallo Roberto75

    Eine Idee:

    In der includes/modules/product_listing.php  Zeile 78 folgenden Code

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', $category['categories_description']);

    ersetzen mit

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', (isset($_GET['page']) && $_GET['page'] < 2) || !isset($_GET['page']) ? $category['categories_description'] : '');

    Gruss
    Hanspeter

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #2 am: 10. Juni 2014, 10:58:47
    Das funktioniert, Hanspeter, ich danke dir.

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #3 am: 23. November 2015, 14:17:42
    Hallo,

    ich habe die Kategoriebeschreibung entsprechend folgendem Post:

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

    ausserhalb der product_listing....

    in meiner product_listing.php habe ich das jetzt mal wie oben beschrieben so

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', (isset($_GET['page']) && $_GET['page'] < 2) || !isset($_GET['page']) ? $category['categories_description'] : '');
    $_SESSION['catdesc'] = $category['categories_description'];

    Der Aufruf der Kategoriebeschreibung in der index.html erfolgt über

    Code: PHP  [Auswählen]
    {if $smarty.session.catdesc}<div class="textJustify">{$smarty.session.catdesc}{php}unset($_SESSION['catdesc']);{/php}</div>{/if}

    Die Kategoriebeschreibung wird auch immer korrekt angezeigt, aber leider auch auf den Unterseiten...

    Ich denke den Teil in der product_listing.php müsste man wohl umschreiben

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', (isset($_GET['page']) && $_GET['page'] < 2) || !isset($_GET['page']) ? $category['categories_description'] : '');
    $_SESSION['catdesc'] = $category['categories_description'];

    da {$smarty.session.catdesc} immer angezeigt wird...

    Hat jemand einen Tip/Rat...

    Danke Gruss

    Jürgen

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #4 am: 24. November 2015, 18:42:54
    Ich würde keine Core-Datei anfassen dazu, schon gar nicht mittels Session die man dann wieder unset-en muß.
    Das geht direkt in der Template-Datei mittels
    Code: PHP  [Auswählen]
    {if !isset($smarty.get.page) || (isset($smarty.get.page) && $smarty.get.page == '1')}
    ...
    {/if}

    Gruß,
    noRiddle

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #5 am: 24. November 2015, 20:37:29
    ..danke für das feedback...

    Ist das ganze Konstrukt mit {$smarty.session.catdesc} falsch oder nur die Einbindung/Code in der index.html?

    Sorry aber ich hab das nicht ganz überrissen was ich jetzt machen soll.....

    Danke

    Gruss

    Jürgen

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #6 am: 27. November 2015, 02:04:32
    Upps, ich habe einen Fehler gemacht, sorry.
    Natürlich steht dir die Kategorie-Beschreibung in den seitlichen Boxen nach hhhs Ansatz ja nur zur Verfügung wegen der Session.
    Das heißt, lediglich die Abfrage ob wir auf einer Seite sind die nicht die erste ist ist ins Template auslagerbar:
    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', $category['categories_description']);
    $_SESSION['catdesc'] = $category['categories_description'];

    und im Template:
    Code: PHP  [Auswählen]
    {if !isset($smarty.get.page) || (isset($smarty.get.page) && $smarty.get.page == '1')}
    <div class="textJustify">{$smarty.session.catdesc}{php}unset($_SESSION['catdesc']);{/php}</div>
    {/if}

    Sicherlich ist das, wie hhh auch sagt, "dirty", aber es funktioniert.

    Wenn du keine php-tags im Template benutzen möchtest, versuche das unset() der Session im Template so zu machen:
    Code: PHP  [Auswählen]
    {if !isset($smarty.get.page) || (isset($smarty.get.page) && $smarty.get.page == '1')}
    <div class="textJustify">{$smarty.session.catdesc}{$smarty.session.catdesc|@unset}</div>
    {/if}

    Gruß,
    noRiddle

    *NACHTRAG*
    Bin mal gespannt auf's Ergebnis, habe mich ein wenig aus dem Fenster gelehnt... :D

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #7 am: 27. November 2015, 10:01:05
    ...also

    Code: PHP  [Auswählen]
    {if !isset($smarty.get.page) || (isset($smarty.get.page) && $smarty.get.page == '1')}
    <div class="textJustify">{$smarty.session.catdesc}{$smarty.session.catdesc|@unset}</div>
    {/if}

    führt zu folgendem Fehler...

    Code: PHP  [Auswählen]
    Fatal error: Smarty error: [in meintemplate/index.html line 46]: [plugin] modifier 'unset' is not implemented (core.load_plugins.php, line 118) in /XXXXXX/XXXXXX/XXXXXX/XXXXX/XXXXX/includes/classes/Smarty_2.6.27/Smarty.class.php on line 1105

    Habe das ganze jetzt so in der index.html

    Code: PHP  [Auswählen]
    {if !isset($smarty.get.page) || (isset($smarty.get.page) && $smarty.get.page == '1')}
    {if $smarty.session.catdesc}<div class="textJustify">{eval var=$smarty.session.catdesc}{php}unset($_SESSION['catdesc']);{/php}</div>{/if}  
    {/if}  

    ...das funktioniert...Danke

    Gruss

    Jürgen

    bigi100

    • Mitglied
    • Beiträge: 168
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #8 am: 23. März 2016, 17:46:36
    Hallo, ich kann nicht mit codes, daher die Frage zur Kategoriebeschreibung nur auf einer Seite:
    oben steht ja

    [...]
    In der includes/modules/product_listing.php  Zeile 78 folgenden Code

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', $category['categories_description']);

    ersetzen mit

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', (isset($_GET['page']) && $_GET['page'] < 2) || !isset($_GET['page']) ? $category['categories_description'] : '');
    [...]

    bei mir in meiner Version schaut das Original so aus:

    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', isset($category['categories_description']) ? $category['categories_description'] : '');

    Was muss ich nun wie ersetzen ?

    bitte lacht mich nicht aus - ich habe von codes null Ahnung

    Gruss Bigi

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #9 am: 23. März 2016, 18:07:09
    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', $category['categories_description']);
    is im Prinzip das gleiche wie
    Code: PHP  [Auswählen]
    $module_smarty->assign('CATEGORIES_DESCRIPTION', isset($category['categories_description']) ? $category['categories_description'] : '');
    nur das bei leerem Namen '' rauskommt und nicht null .... was bei strings aber den gleichen Effekt hat ... es wird nichts angezeigt.

    Ersetze die Zeile einfach. Das schlimmste was passieren könnte ist, das der Templateersteller irgendwo mit
    Code: PHP  [Auswählen]
    ===''
    (ist GENAU gleich) abfragt und nicht mit
    Code: PHP  [Auswählen]
    ==''
    ist gleich.

    Der Unterschied ist, bei === müssen die Inhalte nicht nur gleich sein, sondern auch den gleichen Datentyp haben.

    Bei ''==null kommt true raus.
    Bei ''===null kommt false raus.

    Sollte das bei Dir ein Problem verursachen, muss Du nur die Stelle finden mit
    Code: XML  [Auswählen]
    $CATEGORIES_DESCRIPTION===
    und ersetzen mit
    Code: XML  [Auswählen]
    $CATEGORIES_DESCRIPTION==

    bigi100

    • Mitglied
    • Beiträge: 168
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #10 am: 23. März 2016, 18:16:48
    Bonsai, ich danke dir - werde ich mal versuchen :-)

    bigi100

    • Mitglied
    • Beiträge: 168
    Re: Kategoriebeschreibung nur auf 1. Seite
    Antwort #11 am: 23. März 2016, 18:45:59
    es hat ganz wunderbar geklappt :-) freu
    2 Antworten
    1653 Aufrufe
    02. Juni 2016, 12:20:02 von Roberto75
    4 Antworten
    2641 Aufrufe
    16. Januar 2020, 15:56:39 von Statue
    6 Antworten
    2903 Aufrufe
    19. Mai 2016, 17:41:46 von Tomcraft
    3 Antworten
    2535 Aufrufe
    11. April 2010, 17:43:23 von Tomcraft
               
    anything