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: MODUL: CSS Produkt- & Attributlagerampel v1.0 CE (ab Shopversion 2.x.x.x)

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Anbei die in diesem Thread (MODUL: Artikel und Attribut Lagerampel für Shopversion 1.06) mehrfach besprochene und von noRiddle mit super Anleitungen vorgestellte CSS Produkt- und Attribut-Lagerampel als System-Modul mit Smarty-Plugin (vielen Dank an web28 für die Unterstützung) in einer Community Edition.

    Da dieses Modul mit dem 1.06er-Modul nichts gemein hat und auch nicht darauf basiert, habe ich mich entschieden, hierfür einen neuen Beitrag zu öffnen. Das macht es u. a. beim Support leichter, das richtige Modul zu supporten.

    Folgende Lagerampeln wurden in diesem Modul implementiert:

    Produktinfo / Detailseite

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Produktlisting

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Attribute auf Detailseite

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Das ganze lässt sich in den System Modulen dann administrieren/steuern:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Mein besonderer Dank gilt an dieser Stelle nochmals noRiddle und web28 für die Mithilfe durch tolle Vorlagen.

    Viel Spaß damit.

    Lieben Gruß

    Alex

    [EDIT Tomcraft 20.06.2017: Modul aktualisiert.]
    [EDIT Tomcraft 06.06.2023: Modul aktualisiert.]
    [EDIT Tomcraft 07.06.2023: Modul aktualisiert.]
    [EDIT Tomcraft 16.06.2023: Modul aktualisiert.]
    [EDIT Tomcraft 27.08.2023: Modul aktualisiert.]
    [EDIT Tomcraft 14.12.2023: Modul aktualisiert.]

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

    longchuan

    • Viel Schreiber
    • Beiträge: 647
    • Geschlecht:
    Hallo ich glaube das in der Anleitung ein fehler ist:
    # JAVASCRIPT

     /templates/tpl_modified/css/general_bottom.js.php :

     /templates/tpl_modified/javascript/general_bottom.js.php
    LG

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Ja stimmt.  :mhhh: Der Nachteil von Copy&Paste... Hab ich mal erwähnt, dass ich Anleitungen schreiben hasse? :D

    Anbei nochmals das Paket mit korrekter Anleitung.

    [EDIT Tomcraft 20.06.2017: Modul in Beitrag 1 aktualisiert.]

    Onlineshopper

    • Fördermitglied
    • Beiträge: 942
    • Geschlecht:
    Schönes Modul. Vielen Dank dafür.
    Hab aber 1 Problem:

    Wird alles so angezeigt wie es soll, allerdings nicht bei Artikeln mit Attributen in der product_info_v1.html Variante als Dropdown.

    Hab ich irgendwo einen Fehler eingebaut?

    LG
    Nils

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Das Modul setzt in dieser Version natürlich voraus, dass entweder das Template "table_listing.html" oder aber "product_options_selection.html" verwendet wird.

    Wenn auch die anderen Templates verwendet werden sollen, reicht es, in der mitgelieferten CSS-Datei folgende Zeile:

    Code: CSS  [Auswählen]
    .productoptions{overflow:hidden;}

    so abzuändern:

    Code: CSS  [Auswählen]
    /*.productoptions{overflow:hidden;}*/

    LG Alex

    P.S.: Schön, dass sich noch jemand zu bedanken weiß. ;)

    Onlineshopper

    • Fördermitglied
    • Beiträge: 942
    • Geschlecht:
    Auch hier noch mal vielen Dank. Jetzt klappts wieder.
    Bei mir werden auf der Detailseite allerdings keine Bestandsanzeige angezeigt. Hängt das jetzt damit zusammen?

    LG
    Nils

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Wie ich schon schrieb: Voraussetzungen und so. ;-) Da hier Optionstemplates mit eigener Ampel erwartet werden, wird die Ampel im Hauptartikel nicht mehr angezeigt.

    Die auskommentierte CSS-Anweisung hat nichts damit zu tun. Diese sollte nur bewerkstelligen, dass der Attribut-Hover nur innerhalb dieser Klasse angezeigt wird.

    Wenn du generell nur mit den DropDowns arbeitest, müsste man bei dir eine modifizierte Version installieren, welche nicht nach Attributen fragt.

    Onlineshopper

    • Fördermitglied
    • Beiträge: 942
    • Geschlecht:
    Ja bei mir gibt es nur die V1 mit Dropdown.

    Naja in der Übersicht wird der Bestand ja angezeigt. Muss ich mich damit zufrieden geben.
    Ich werds überleben  :-)

    Ben

    • Schreiberling
    • Beiträge: 295
    • Geschlecht:
    Hey,
    wie kann man es machen, dass nun neben der Ampel noch die Anzahl der verfügbaren Artikel steht ?

    Jemand eine Idee ?

    LG

    karsta.de

    • Experte
    • Beiträge: 3.056
    In den product_options-Dateien steht von Hause aus die Variable {$item_data.STOCK} zur Anzeige des Lagerbestandes der Attribute zur Verfügung.
    (z.B. hier in der templates\tpl_modified\module\product_options\multi_options_1.html innerhalb der {foreach key=key_data item=item_data from=$options_data.DATA} mit einfügen)

    Oder beim Konfigurieren des Moduls "CSS Produkt- & Attributlagerampel" > "Art der Anzeige" > auf "Text" stellen. (text: Text-Lagerampel mit Lagerbeständen)

    BG kgd

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Und in den product_info_*.html's wäre die Variable {$PRODUCTS_QUANTITY} und im Listing {$module_data.PRODUCTS_QUANTITY}.

    soundrotation

    • Neu im Forum
    • Beiträge: 14
    • Geschlecht:
    Vielen Dank für das Modul. Ich habe es nun auch installiert. Läuft soweit auch.
    Allerdings wird bei mir keine Artikeldetailseite mehr angezeigt. :’-(. Alles ist weiß :-(
    Ich bin alle Änderungen nun dreimal durchgegangen und habe keinen Fehler festgestellt.

    Muss ich vorher einen Template Cache oder sowas ähnliches löschen ?

    Hilfe !

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Das Modul wurde über 25x geladen und außer kleinen Schönheitsfehlern wurde hier bislang nichts gemeldet. Es ist also davon auszugehen, dass du einen Einbaufehler hast.  :mhhh: Und das lässt sich hier ganz schlecht nachvollziehen, weil wir die Dateien / Codezeilen nicht sehen.

    soundrotation

    • Neu im Forum
    • Beiträge: 14
    • Geschlecht:
    Alles gut.
    Ich habe gerade festgestellt das hinter meinen Artikeln als Vorlage für Artikeldetails: "default" eingestellt war.
    Nun habe ich alles geändert und es funktioniert!
    Danke schön.

    Ben

    • Schreiberling
    • Beiträge: 295
    • Geschlecht:
    Hey,
    ich finde da keinen Einbaufehler von mir, wobei ich doch davon ausgehe, aber man sieht den Wald voller Bäume nicht. :D

    templates/tpl_modified/module/product_info

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="product_info"}
    {config_load file="lang_`$language`.custom"}
    <div itemscope itemtype="http://schema.org/Product">
      {$FORM_ACTION}
      <h1 itemprop="name">{$PRODUCTS_NAME}</h1>
      <div id="product_details">
        <div class="pd_imagebox">
          {if $PRODUCTS_IMAGE != ''}
            <div class="pd_big_image">
              <a class="cbimages" title="{$PRODUCTS_NAME|onlytext}" href="{$PRODUCTS_IMAGE|replace:"info_images":"popup_images"}"><img itemprop="image" src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME|onlytext}" /></a>
            </div>
            <div class="zoomtext">{#zoomtext#}</div>
         {/if}
          {if $more_images|@count > 0}
            {foreach item=more_images_data from=$more_images}
            <div class="pd_small_image"><a class="cbimages" title="{$PRODUCTS_NAME|onlytext}" href="{$more_images_data.PRODUCTS_IMAGE|replace:"info_images":"popup_images"}"><img src="{$more_images_data.PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME|onlytext}" /></a></div>                          
            {/foreach}
            <br class="clearfix" />
          {/if}
        </div>

        <div class="pd_content">
          <div class="pd_infobox">
            <div class="pd_inforow_first"></div>
            {if $SHIPPING_NAME}<div class="pd_inforow"><strong>{#text_shippingtime#}</strong> {if $SHIPPING_IMAGE}<img class="pd_shipping_image" src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME_LINK}</div>{/if}
                           
            {* Modul Anzeige voraussichtlicher Liefertermin *}    
            {if $DELIVERY_DATE}<div class="pd_inforow">{$DELIVERY_DATE}</div>{/if}  
                           
            {if $PRODUCTS_MODEL != ''}<div class="pd_inforow"><strong>{#model#}</strong> {$PRODUCTS_MODEL}<meta itemprop="model" content="{$PRODUCTS_MODEL}" /></div>{/if}  
    {if !isset($MODULE_product_options) && $MODULE_product_options == ''}<div class="pd_inforow">{traffic_light stock=$PRODUCTS_QUANTITY modul='info'}</div>{/if}
            {if $PRODUCTS_EAN != ''}<div class="pd_inforow"><strong>{#ean#}</strong> {$PRODUCTS_EAN}</div>{/if}  
           {if $PRODUCTS_RATING_COUNT > 1}
            <div class="pd_inforow" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
              <strong>{#info_reviews#}</strong>
             <span class="pd_reviews_image"><img src="{$tpl_path}img/stars_{$PRODUCTS_AVERAGE_RATING}.png" alt="" /></span>
              ({$PRODUCTS_RATING_COUNT})
              <meta itemprop="ratingValue" content="{$PRODUCTS_AVERAGE_RATING}" />
              <meta itemprop="bestRating" content="5" />
              <meta itemprop="ratingCount" content="{$PRODUCTS_RATING_COUNT}" />
            </div>
            {elseif $PRODUCTS_RATING_COUNT > 0 }
            <div class="pd_inforow" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
              <strong>{#info_review#}</strong>
             <span class="pd_reviews_image"><img src="{$tpl_path}img/stars_{$PRODUCTS_AVERAGE_RATING}.png" alt="" /></span>
              ({$PRODUCTS_RATING_COUNT})
              <meta itemprop="ratingValue" content="{$PRODUCTS_AVERAGE_RATING}" />
              <meta itemprop="bestRating" content="5" />
              <meta itemprop="ratingCount" content="{$PRODUCTS_RATING_COUNT}" />
            </div>
            {/if}
            {if isset($PRODUCTS_DISCOUNT) && $PRODUCTS_DISCOUNT != ''}<div class="pd_inforow"><strong>{#text_discount#}</strong> {$PRODUCTS_DISCOUNT}</div>{/if}  
           {if $PRODUCTS_EXPIRES}<div class="pd_inforow red">{#text_expires_date#} {$PRODUCTS_EXPIRES}</div>{/if}

            {if $PRODUCTS_MANUFACTURERS_MODEL != ''}<div class="pd_inforow"><strong>{#products_manufacturer_model#}</strong> {$PRODUCTS_MANUFACTURERS_MODEL}</div>{/if}
           {if isset($MANUFACTURER) && $MANUFACTURER != ''}<div class="pd_inforow"><strong>{#manufacturer#}</strong> <span itemprop="brand">{$MANUFACTURER}</span></div>{/if}
           {if isset($MANUFACTURER_LINK) && $MANUFACTURER_LINK != ''}<div class="pd_inforow"><strong>{#manufacturer_more_of#}</strong> <a title="{$MANUFACTURER|onlytext}" href="{$MANUFACTURER_LINK}">{$MANUFACTURER}</a></div>{/if}
           {if $PRODUCTS_URL != ''}<div class="pd_inforow">{$PRODUCTS_URL}</div>{/if}

            <ul class="pd_iconlist">
              <li class="print">{$PRODUCTS_PRINT_LAYER}</li>
              <li class="vote">{$PRODUCTS_WRITE_REVIEW}</li>
              {if isset($EXPRESS_LINK)}<li class="express">{$EXPRESS_LINK}</li>{/if}
              {if $ADD_CART_BUTTON_WISHLIST_TEXT}<li class="wishlist">{$ADD_CART_BUTTON_WISHLIST_TEXT}</li>{/if}
            </ul>
            {if isset($KLARNA_PPBOX)}{$KLARNA_PPBOX}{/if}
          </div>

          <div class="pd_summarybox" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
            <meta itemprop="priceCurrency" content="{$smarty.session.currency}" />
            {if $PRODUCTS_QUANTITY <= 0 && $smarty.const.STOCK_CHECK == 'true'}<meta itemprop="availability" content="http://schema.org/OutOfStock" />{else}<meta itemprop="availability" content="http://schema.org/InStock" />{/if}
            {if $PRODUCTS_MANUFACTURERS_MODEL != ''}<meta itemprop="mpn" content="{$PRODUCTS_MANUFACTURERS_MODEL}" />{/if}
            <meta itemprop="itemCondition" content="http://schema.org/NewCondition" />

            <div class="pd_price{if $PRODUCTS_FSK18 == 'true'} pd_fsk_padding{/if}">
            {if $PRODUCTS_FSK18 == 'true'}<div class="pd_fsk18"></div>{/if}
            {foreach name=inner item=price_data from=$PRODUCTS_PRICE_ARRAY}
              {include file="`$smarty.const.CURRENT_TEMPLATE`/module/includes/price_info.html"}
            {/foreach}
            </div>
            {if $PRODUCTS_PRICE_ARRAY.0.PRODUCTS_PRICE_FLAG != 'NotAllowed'}
              {if $PRODUCTS_VPE}<div class="pd_vpe">{$PRODUCTS_VPE}</div>{/if}
              <div class="pd_tax{if $PRODUCTS_FSK18 == 'true'} pd_fsk_padding{/if}">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</div>
            {/if}
            {if isset($MODULE_graduated_price) && $MODULE_graduated_price != ''}{$MODULE_graduated_price}{/if}
            {if isset($MODULE_product_options) && $MODULE_product_options != ''}
              {if $MODULE_product_options_template == 'multi_options_1.html' || $MODULE_product_options_template|strpos:"dropdown" !== false}
                {$MODULE_product_options}
              {/if}
            {/if}
         
            {if $ADD_CART_BUTTON != ''}
            <div class="addtobasket">
              <span class="addtobasket_input">{$ADD_QTY}</span>
              <span class="addtobasket_button">{$ADD_CART_BUTTON}</span>
              {if isset($ADD_CART_BUTTON_EXPRESS)}
                <br class="clearfix" />
                <span class="addtobasket_button">{$ADD_CART_BUTTON_EXPRESS}</span>
              {elseif $ACTIVATE_EXPRESS_LINK}
                <br class="clearfix" />
                <span class="express_info"><a href="{$ACTIVATE_EXPRESS_LINK}">{#checkout_express_activate#}</a></span>
             {/if}
              {if $ADD_CART_BUTTON_PAYPAL}
                <br class="clearfix" />
                <span class="addtobasket_button">{$ADD_CART_BUTTON_PAYPAL}</span>
              {/if}
              {*if $ADD_CART_BUTTON_WISHLIST}
                <br class="clearfix" />
                <span class="addtobasket_button">{$ADD_CART_BUTTON_WISHLIST}</span>
              {/if*}
            </div>
            {/if}
         
            {if $ADD_CART_BUTTON == '' && $PRODUCTS_FSK18 == 'true'}<div class="pd_inforow_message">{#products_fsk18_check#}</div>{/if}
           {if $ADD_CART_BUTTON == '' && $PRODUCTS_GIFT_FORBIDDEN == 'true'}<div class="pd_inforow_message">{#products_gift_forbidden#}</div>{/if}
           {if isset($PRODUCTS_DATE_AVAILABLE) && $PRODUCTS_DATE_AVAILABLE != ''}<div class="pd_inforow_message">{$PRODUCTS_DATE_AVAILABLE}</div>{/if}

          </div>
          <br class="clearfix" />
          {if isset($XTB_REDIRECT_USER_TO) && $XTB_REDIRECT_USER_TO == 'product'}
            <div class="xtb_booster_redirect_message"><strong>Sie haben die eBay Auktion gewonnen!</strong><br />Bitte w&auml;hlen Sie nun noch die gew&uuml;nschten Produkteigenschaften und legen Sie den Artikel danach in den Warenkorb, um mit der Zahlung fortzufahren und das Produkt versandfertig zu machen!</div>
          {/if}
          {if isset($MODULE_product_options) && $MODULE_product_options != ''}
            {if $MODULE_product_options_template != 'multi_options_1.html' && $MODULE_product_options_template|strpos:"dropdown" === false}
              {$MODULE_product_options}
            {/if}
          {/if}      
        </div>  
        <br class="clearfix" />
        {if isset($MANUFACTURER_IMAGE) && $MANUFACTURER_IMAGE != ''}<div class="pd_manu_image"><a title="{$MANUFACTURER|onlytext}" href="{$MANUFACTURER_LINK}"><img src="{$MANUFACTURER_IMAGE}" alt="{$MANUFACTURER|onlytext}" /></a></div>{/if}
      </div>
      {$FORM_END}

      {if $PRODUCTS_DESCRIPTION != ''}<h4 class="detailbox">{#products_desc#}</h4><div class="pd_description" itemprop="description">{$PRODUCTS_DESCRIPTION}</div><br />{/if}
     {if isset($MODULE_product_tags) && $MODULE_product_tags != ''}{$MODULE_product_tags}{/if}
      {if isset($MODULE_products_media) && $MODULE_products_media != ''}{$MODULE_products_media}{/if}
      {if isset($MODULE_products_reviews) && $MODULE_products_reviews != ''}{$MODULE_products_reviews}{/if}
      {if isset($MODULE_cross_selling) && $MODULE_cross_selling != ''}{$MODULE_cross_selling}{/if}
      {if isset($MODULE_reverse_cross_selling) && $MODULE_reverse_cross_selling != ''}{$MODULE_reverse_cross_selling}{/if}
      {if isset($MODULE_also_purchased) && $MODULE_also_purchased != ''}{$MODULE_also_purchased}{/if}
      {if isset($MODULE_products_category) && $MODULE_products_category != ''}{$MODULE_products_category}{/if}

      {if $PRODUCTS_ADDED != ''}<p class="dateadded_border">{$PRODUCTS_ADDED}</p>{/if}
      {$PRODUCT_NAVIGATOR}
    </div>
    Werbung / Banner buchen
    2 Antworten
    3538 Aufrufe
    06. August 2013, 08:31:32 von Hetfield
    2 Antworten
    2554 Aufrufe
    23. Oktober 2014, 09:40:07 von MHammer