Variablen und Ihre Verfügbarkeit

Thema wurde von andyhaiger, 27. Juni 2016 erstellt.

  1. andyhaiger

    andyhaiger Aktives Mitglied

    Registriert seit:
    31. März 2016
    Beiträge:
    35
    Danke erhalten:
    4
    Danke vergeben:
    9
    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:
    1. USERMOD von product_listing_v1.html erstellen
    2. {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:
    1. USERMOD von category_dcescription.html erstellen
    2. Variablen und Abfragen Block für Headline aus der category_dcescription-USERMOD.html entfernen
    3. 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?
     
  2. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    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.
     
  3. andyhaiger

    andyhaiger Aktives Mitglied

    Registriert seit:
    31. März 2016
    Beiträge:
    35
    Danke erhalten:
    4
    Danke vergeben:
    9
    Über dem Listing soll der Kategorien-Titel ausgegeben werden. Außerdem ist das die h1-Headline.
     
  4. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    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.
     
  5. andyhaiger

    andyhaiger Aktives Mitglied

    Registriert seit:
    31. März 2016
    Beiträge:
    35
    Danke erhalten:
    4
    Danke vergeben:
    9
    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?
     
  6. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    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]