Jump to content
visars

Wenn Lagerbestand leer ist zum Warenkorb hinzufügen ausblenden

Recommended Posts

Hallo zusammen

Prestashop Version 1.7.X

Bin in der /product-add-to-cart.tpl Datei und möchte gerne das "zum Warenkorb hinzufügen" ausblenden, wenn der Lagerbestand leer ist. Kann mir jemand sagen wie ich herausfinden kann, in welcher Variable der Wert Lagerbestand gespeichert ist?

 

Bisher habe ich folgendes:

---------------------------------------------------

<div class="add">
          <button style="background: {$belvg_color_value_btn}; border-color: {$belvg_color_value_btn_border}; color: {$belvg_color_value_btn_txt}"
            class="btn btn-primary add-to-cart"
            data-button-action="add-to-cart"
            type="submit"
            {if !$product.add_to_cart_url}
              disabled
            {/if}
          >
            <i class="material-icons shopping-cart">&#xE547;</i>
            {l s='Add to cart' d='Shop.Theme.Actions'}
          </button>

          {block name='product_availability'}
            <span id="product-availability">
              {if $product.show_availability && $product.availability_message}
                {if $product.availability == 'available'}
                  <i class="material-icons product-available">&#xE5CA;</i>
                {elseif $product.availability == 'last_remaining_items'}
                  <i class="material-icons product-last-items">&#xE002;</i>
                {else}
                  <i class="material-icons product-unavailable">&#xE14B;</i>
                {/if}
                {$product.availability_message}
              {/if}
            </span>
          {/block}

 

Danke für eure Unterstützung.

 

 

Share this post


Link to post
Share on other sites

Im 1.6.x kann man bei "Mengen" bestimmen, ob bei leerem Bestand Bestellungen angenommen werden, entweder global in den Einstellungen oder individuell nur für bestimmte Artikel. Schau mal, ob das im 1.7 nicht auch so ist, bevor du im Quellcode rumbastelst.

Share this post


Link to post
Share on other sites

Ansonsten müßtest du doch nur auf die in dem Code bereits verwendete Variable $product.availability zurückgreifen ...

Share this post


Link to post
Share on other sites
14 hours ago, Claudiocool said:

Im 1.6.x kann man bei "Mengen" bestimmen, ob bei leerem Bestand Bestellungen angenommen werden, entweder global in den Einstellungen oder individuell nur für bestimmte Artikel. Schau mal, ob das im 1.7 nicht auch so ist, bevor du im Quellcode rumbastelst.

Vielen Dank für die Antwort.

 

Das funktioniert bereits. Es sieht nicht so toll aus, wenn das "zum Warenkorb hinzufügen" neben dem Produkt steht, wenn es überhaupt nicht bestellbar ist. Würde deshalb diesen Button entfernen, wenn der Lagerbestand auf 0 gesetzt ist. 

Share this post


Link to post
Share on other sites
12 hours ago, rictools said:

Ansonsten müßtest du doch nur auf die in dem Code bereits verwendete Variable $product.availability zurückgreifen ...

Vielen Dank für deine Antwort.

Bin daran.. Komme nicht gleich auf die Lösung.. Kannst du mir da evtl. helfen? Theoretisch müsste man das add-to-cart einfach nicht anzeigen lassen, wenn Lagerbestand 0 oder nicht verfügbar.

 

  <div class="add">
          <button style="background: {$belvg_color_value_btn}; border-color: {$belvg_color_value_btn_border}; color: {$belvg_color_value_btn_txt}"
            class="btn btn-primary add-to-cart"
            data-button-action="add-to-cart"
            type="submit"
            {if !$product.add_to_cart_url}
              disabled
            {/if}
          >
            <i class="material-icons shopping-cart">&#xE547;</i>
            {l s='Add to cart' d='Shop.Theme.Actions'}
          </button>

          {block name='product_availability'}
            <span id="product-availability">
              {if $product.show_availability && $product.availability_message}
                {if $product.availability == 'available'}
                  <i class="material-icons product-available">&#xE5CA;</i>
                {elseif $product.availability == 'last_remaining_items'}
                  <i class="material-icons product-last-items">&#xE002;</i>
                {else}
                  <i class="material-icons product-unavailable">&#xE14B;</i>
                {/if}
                {$product.availability_message}
              {/if}
            </span>
          {/block}
 

Share this post


Link to post
Share on other sites
vor 3 Stunden schrieb visars:

Das funktioniert bereits. Es sieht nicht so toll aus, wenn das "zum Warenkorb hinzufügen" neben dem Produkt steht, wenn es überhaupt nicht bestellbar ist. Würde deshalb diesen Button entfernen, wenn der Lagerbestand auf 0 gesetzt ist. 

Und was passiert dann, wenn man den Warenkorb-Button anklickt?

Hast du ein Fremdtemplate?

Ansonsten müßte es doch reichen, den Button-Code mit 

{if $product.availability == 'available' || $product.availability == 'last_remaining_items'} ...  {/if}

zu umschließen.

Share this post


Link to post
Share on other sites
12 minutes ago, rictools said:

Und was passiert dann, wenn man den Warenkorb-Button anklickt?

Hast du ein Fremdtemplate?

Ansonsten müßte es doch reichen, den Button-Code mit 

{if $product.availability == 'available' || $product.availability == 'last_remaining_items'} ...  {/if}

zu umschließen.

Der Warenkorb-Button ist nicht anklickbar.

Da das Lager nicht aktiviert ist, funktioniert es auf diese Weise nicht. Meine erste Idee: Diesselbe Abfrage, jedoch wenn der Preis vom Artikel 0.- kostet, den Warenkorb-Button ausblenden.

Kennt jemand die Variable vom Preis? Evtl. $product.price ? 

 

Vielen Dank für deine / Eure Hilfe

Share this post


Link to post
Share on other sites
vor 41 Minuten schrieb visars:

Der Warenkorb-Button ist nicht anklickbar.

Dann sollte er eigentlich ausgegraut sein. Im Code muß sich dann irgendwo eine Logik finden, die die Linkfunktion entfernt, diese könntest du ggf. ergänzen. Oder einfach per CSS den Button ausblenden, und zwar nur dann wenn er nicht in einen <a>-Tag eingebunden ist.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More