Hallo zusammen, kann mir jemand ein paar Informationen bezüglich der Verfügbarkeit bzw. Verfügbarmachung von Variablen erklären? Einfaches Beispiel: Kunde möchte im Artikel-Listing die Description unter dem Listing haben. Vorgehensweise: USERMOD von product_listing_v1.html erstellen {include file="get_usermod:{$tpl_path}snippets/category_description.html" img_alt=$CATEGORIES_GM_ALT_TEXT category_title=$CATEGORIES_HEADING_TITLE category_name=$CATEGORIES_NAME manufacturer=$manufacturer} unter das Listing verschieben Problem: nun ist auch der category-title unter dem Listing, da alles aus der category_description.html stammt und diese Headlines und Text beinhaltet Überlegung - Vorgehensweise: USERMOD von category_dcescription.html erstellen Variablen und Abfragen Block für Headline aus der category_dcescription-USERMOD.html entfernen Variablen und Abfragen Block für Headline in die product_listing_v1-USERMOD.html hinzufügen. Problem: funktioniert nicht. Die Variablen exisiteren dort nicht. Lösung?
Was spricht dagegen bei dem include der category_description die category_title=$CATEGORIES_HEADING_TITLE und category_name=$CATEGORIES_NAME einfach zu entfernen? Dann werden die nicht gesetzt und die Headlines werden nicht ausgegeben.
Versuch mal folgendes als product_lisitng_v1-USERMOD.html HTML: {load_language_text section="product_listing"} {load_language_text section="product_info" name="info"} {load_language_text section="buttons" name="button"} {$FILTER_SELECTION} {manufacturer_data manufacturer_id=$gm_manufacturers_id out=manufacturer } {if $CATEGORIES_HEADING_TITLE || $CATEGORIES_NAME} <h1>{$CATEGORIES_HEADING_TITLE|default:$CATEGORIES_NAME}</h1> {/if} <!-- #BOF YOOCHOOSE --> {if $MODULE_yoochoose_category_topsellers != ''} {$MODULE_yoochoose_category_topsellers} {/if} <!-- #EOF YOOCHOOSE --> {include file="get_usermod:{$tpl_path}snippets/product_listing/product_listing_filter.html" formname="panel"} <div class="container-fluid" data-gambio-widget="product_hover" data-product_hover-scope=".productlist-viewmode-grid"> <div class="row product-filter-target productlist productlist-viewmode {if $VIEW_MODE == 'tiled'}productlist-viewmode-grid{else}productlist-viewmode-list{/if}" data-gambio-widget="cart_handler"> {include file="get_usermod:{$tpl_path}snippets/product_listing/product_listing_main.html"} </div> </div> {include file="get_usermod:{$tpl_path}snippets/product_listing/product_listing_filter.html" formname="panel2"} {include file="get_usermod:{$tpl_path}snippets/navigation/pagination_info.html" info=$NAVIGATION_INFO} {include file="get_usermod:{$tpl_path}snippets/category_description.html" img_alt=$CATEGORIES_GM_ALT_TEXT manufacturer=$manufacturer} hat bei mir gerade funktioniert.
Danke. Habe: {if $CATEGORIES_HEADING_TITLE || $CATEGORIES_NAME} <div class="h1">{$CATEGORIES_HEADING_TITLE|default:$CATEGORIES_NAME}</div> {/if} eingebaut, damit nicht zwei h1 existieren. Aber wie hätte ich mir $CATEGORIES_HEADING_TITLE selbst herleiten können und wissen können, dass diese in dieser Umgebung existiert?
Sie steht schon im Quellcode und zwar bei der Übergabe der Daten an das andere Template: Code: {include file="get_usermod:{$tpl_path}snippets/category_description.html" img_alt=$CATEGORIES_GM_ALT_TEXT category_title=$CATEGORIES_HEADING_TITLE category_name=$CATEGORIES_NAME manufacturer=$manufacturer} Und wenn du mein Beispiel so verwendest, dürfte eigentlich keine zweite h1 erstellt werden, weil category_title und category_name nicht mehr an das category_description-Template übergeben werden. Wenn du wissen willst, welche Variablen im Template verfügbar sind hilft ein beherztes Code: {debug} im Template oft weiter. Das listet dir alle im Template verfügbaren Variablen auf.[/code]