Hinweis für Besucher. wenn Artikel nicht Bestellbar

Hallo,

ich hab da mal ein Problem :confused: bei dem ich etwas Hilfe bräuchte und zwar folgendes:

Wenn man unter Artikel / Lager einstellt das wenn der Artikel ausverkauft ist er nicht mehr bestellbar ist, verschwindet der Button “ In den Warenkorb “ im Fronted Bereich ( das klappt ja soweit auch ganz gut / so wie es soll ).

Was mir jetzt aber überhaupt nicht gefällt, ist das es im Fronted Bereich keinen Hinweis für den Besucher / Kunden gibt, hier würde ich gerne z.B. ein Bild über dem Artikel legen mit Momentan nicht Lieferbar oder so ähnlich. Aber ich habe keine Ahnung wie ich das anstelle bzw. wie man das hin bekommt das dieses Bild nur über Artikel gelegt wird welche Momentan nicht bestellbar sind.

Vielleicht hat ja einer der Profis eine Lösung für dieses Problem.

Gruß Sven

[QUOTE=Sven39;16392]Hallo,

ich hab da mal ein Problem :confused: bei dem ich etwas Hilfe bräuchte und zwar folgendes:

Wenn man unter Artikel / Lager einstellt das wenn der Artikel ausverkauft ist er nicht mehr bestellbar ist, verschwindet der Button “ In den Warenkorb “ im Fronted Bereich ( das klappt ja soweit auch ganz gut / so wie es soll ).

Was mir jetzt aber überhaupt nicht gefällt, ist das es im Fronted Bereich keinen Hinweis für den Besucher / Kunden gibt, hier würde ich gerne z.B. ein Bild über dem Artikel legen mit Momentan nicht Lieferbar oder so ähnlich. Aber ich habe keine Ahnung wie ich das anstelle bzw. wie man das hin bekommt das dieses Bild nur über Artikel gelegt wird welche Momentan nicht bestellbar sind.

Vielleicht hat ja einer der Profis eine Lösung für dieses Problem.

Gruß Sven[/QUOTE]
In “product.tpl” gibt es folgende Sequenz:

    [{oxhasrights ident="TOBASKET"}]
        [{ if !$product->isNotBuyable() }]

        [{if $size=='thin' || $size=='thinest'}]
        <div class="amount">
            <label>[{ oxmultilang ident="DETAILS_PERSPARAM_QUANTITY" }]</label><input id="test_am_[{$testid}]" type="text" name="am" value="1" size="3">
        </div>
        [{/if}]
        <div class="tocart"><input id="test_toBasket_[{$testid}]" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"></div>
        [{/if}]
    [{/oxhasrights}]

Das ändern zu

    [{oxhasrights ident="TOBASKET"}]
        [{ if $product->isNotBuyable() }]
         <img alt="" src="[{$oViewConf->getImageUrl()}]not_available.gif">
                [{ else }]
        [{if $size=='thin' || $size=='thinest'}]
        <div class="amount">
            <label>[{ oxmultilang ident="DETAILS_PERSPARAM_QUANTITY" }]</label><input id="test_am_[{$testid}]" type="text" name="am" value="1" size="3">
        </div>
        [{/if}]
        <div class="tocart"><input id="test_toBasket_[{$testid}]" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"></div>
        [{/if}]
    [{/oxhasrights}]

und im Verzeichnis “[B]out/basic/img/[/B]” die Datei “[B]not_available.gif[/B]” anlegen, dann funktioniert das…

Hallo avenger,

na das nenn ich aber mal eine schnelle Antwort bekommen ! Ich werde deine Lösung gleich heute noch einmal ausprobieren. Besten dank für die schnelle Hilfe, werde das Ergebniss hier Posten.

schönen gruß Sven

Hi,
kurze Info !

Schade, aber es scheint nicht die richtige stelle zu sein an dem der Link

<img alt=“” src=“[{$oViewConf->getImageUrl()}]not_available.gif”>

eingefügt werden soll das Bild wird immer da angezeigt wo es gerade nicht stehen soll ( bei den Artikeln die ich in den Warenkorb packen kann ) und bei den Artikel die auf nicht Bestellbar eingestellt hat ist kein Bild zu sehen.

Bin jetzt ja leider kein Programmierer daher weiß ich leider nicht wo die Stelle ist bei der es heißt "Wenn nicht bestellbar Aktiviert, den Button ( In den Warenkorb ) nicht anzeigen " oder so ähnlich zu finden ist ( denke dort müßte ich ansetzen )

Vielleicht weiß ja einer wo genau der Befehl / Anweisung steht dann könnte man doch statt Button nicht Anzeigen einen anderen Button ( Bild oder Text ) anzeigen lassen.

gruß Sven

Achja der Befehl [{ else }] unter dem Link hat einen Fehler im Shop hervorgerufen ( diesen Befehl hatte ich vorher Gelöscht )

[QUOTE=Sven39;16415]Hi,
kurze Info !

Schade, aber es scheint nicht die richtige stelle zu sein an dem der Link eingefügt werden soll das Bild wird immer da angezeigt wo es gerade nicht stehen soll ( bei den Artikeln die ich in den Warenkorb packen kann ) und bei den Artikel die auf nicht Bestellbar eingestellt hat ist kein Bild zu sehen.

Bin jetzt ja leider kein Programmierer daher weiß ich leider nicht wo die Stelle ist bei der es heißt "Wenn nicht bestellbar Aktiviert, den Button ( In den Warenkorb ) nicht anzeigen " oder so ähnlich zu finden ist ( denke dort müßte ich ansetzen )

Vielleicht weiß ja einer wo genau der Befehl / Anweisung steht dann könnte man doch statt Button nicht Anzeigen einen anderen Button ( Bild oder Text ) anzeigen lassen.

gruß Sven

Achja der Befehl [{ else }] unter dem Link hat einen Fehler im Shop hervorgerufen ( diesen Befehl hatte ich vorher Gelöscht )[/QUOTE]
Dann hast Du das falsch eingebaut…

Bei mir läuft das genau so…

Einfach mal so ein “[{else}]” weg nehmen ist natürlich sinnfrei…

Dann hast Du das falsch eingebaut…

Bei mir läuft das genau so…

Einfach mal so ein “[{else}]” weg nehmen ist natürlich sinnfrei…

OK ist natürlich nicht richtig ( hab von Code halt keine Ahnung :confused: ) aber mit hatte es ja über hauptnicht Funktioniert.

Habe aber die Lösung gefunden. :smiley:

Es lag an dem : [{ if !$product->isNotBuyable() }] ( das ! in rot ) das ist im

Orginal auch da nur halt nicht in dem geänderten. Hatte nur die eine Zeile inkl. else rein Kopiert.

Sorry war mein Fehler !!!

kleine Frage hätte ich da noch : Finde ich das selbe in der Detailansicht (detail.tpl ) auch ( dort würde ich es auch gerne Anzeigen lassen.

gruß Sven

[QUOTE=Sven39;16420]OK ist natürlich nicht richtig ( hab von Code halt keine Ahnung :confused: ) aber mit hatte es ja über hauptnicht Funktioniert.

Habe aber die Lösung gefunden. :smiley:

Es lag an dem : [{ if !$product->isNotBuyable() }] ( das ! in rot ) das ist im

Orginal auch da nur halt nicht in dem geänderten. Hatte nur die eine Zeile inkl. else rein Kopiert.

Sorry war mein Fehler !!!

kleine Frage hätte ich da noch : Finde ich das selbe in der Detailansicht (detail.tpl ) auch ( dort würde ich es auch gerne Anzeigen lassen.

gruß Sven[/QUOTE]
Na prima…

Ich habe das natürlich in dem Shop, den ich gerade bearbeite, auch gleich eingebaut, war 'ne gute Idee…

http://www.dev.digital-readers.de/

kleine Frage hätte ich da noch : Finde ich das selbe in der Detailansicht (detail.tpl ) auch ( dort würde ich es auch gerne Anzeigen lassen.

        [{ if $product->isBuyable() }]
            <div class="amount">
                <label>[{ oxmultilang ident="DETAILS_PERSPARAM_QUANTITY" }]</label><input id="test_AmountToBasket" type="text" name="am" value="1" size="3">
            </div>
            <div class="tocart"><input id="test_toBasket" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"></div>
            [{if $oView->isPriceAlarm()}]
            <div class="pricealarm">
                <a id="test_PriceAlarmLink" rel="nofollow" href="#preisalarm_link">[{ oxmultilang ident="DETAILS_PERSPARAM_PRICEALARM" }]</a>
            </div>
            [{/if}]
        [{else}]
            [{if $oView->isPriceAlarm() && !$product->isParentNotBuyable()}]
            <div class="pricealarm">
                <a rel="nofollow" href="#preisalarm_link">[{ oxmultilang ident="DETAILS_PERSPARAM_PRICEALARM2" }]</a>
            </div>
            [{/if}]
        [{/if}]

ersetzen mit

        [{ if $product->isBuyable() }]
            <div class="amount">
                <label>[{ oxmultilang ident="DETAILS_PERSPARAM_QUANTITY" }]</label><input id="test_AmountToBasket" type="text" name="am" value="1" size="3">
            </div>
            <div class="tocart"><input id="test_toBasket" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"></div>
            [{if $oView->isPriceAlarm()}]
            <div class="pricealarm">
                <a id="test_PriceAlarmLink" rel="nofollow" href="#preisalarm_link">[{ oxmultilang ident="DETAILS_PERSPARAM_PRICEALARM" }]</a>
            </div>
            [{/if}]
        [{else}]
                <img class="not_available" alt="" src="[{$oViewConf->getImageUrl()}]not_available.gif">
        [{/if}]

Hallo avenger,

habe das detail.tp geändert. Hat diesmal sofort geklappt . Muss jetzt nur noch am Bild etwas Feilen, dann ist es OK.

Noch einmmal Besten Dank für deine schnelle Hilfe bzw Lösung, ich selbst hätte ich es wohl nicht hinbekommen.

gruß Sven

Hallo ,

ich muss das Thema noch einmal aufgreifen auch wenn es schon etwas älter ist. Ich bin dabei den Shop ( in einer Testumgebung ) von 4.2 auf 4.3.1 up zu Daten. Bei der Template anpassungen komme ich bei einem problem allerdings nicht weiter:confused:, es geht um den hinweiss für die Besucher , das der Artikel zur Zeit nicht Lieferbar / Ausverkauft ist, wie die Lösung in diesem Tread von avenger klasse geholfen hat.

In “product.tpl” gibt es folgende Sequenz:

 Code:
     [{oxhasrights ident="TOBASKET"}]
    [{ if !$product-&gt;isNotBuyable() }]
    [{if $size=='thin' || $size=='thinest'}]
    &lt;div class="amount"&gt;
        &lt;label&gt;[{ oxmultilang ident="DETAILS_PERSPARAM_QUANTITY" }]&lt;/label&gt;&lt;input id="test_am_[{$testid}]" type="text" name="am" value="1" size="3"&gt;
    &lt;/div&gt;
    [{/if}]
    &lt;div class="tocart"&gt;&lt;input id="test_toBasket_[{$testid}]" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"&gt;&lt;/div&gt;
    [{/if}]
[{/oxhasrights}] 

Das ändern zu

 Code:
     [{oxhasrights ident="TOBASKET"}]
    [{ if $product-&gt;isNotBuyable() }]
     &lt;img alt="" src="[{$oViewConf-&gt;getImageUrl()}]not_available.gif"&gt;
            [{ else }]
    [{if $size=='thin' || $size=='thinest'}]
    &lt;div class="amount"&gt;
        &lt;label&gt;[{ oxmultilang ident="DETAILS_PERSPARAM_QUANTITY" }]&lt;/label&gt;&lt;input id="test_am_[{$testid}]" type="text" name="am" value="1" size="3"&gt;
    &lt;/div&gt;
    [{/if}]
    &lt;div class="tocart"&gt;&lt;input id="test_toBasket_[{$testid}]" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"&gt;&lt;/div&gt;
    [{/if}]
[{/oxhasrights}] 

und im Verzeichnis “out/basic/img/” die Datei “not_available.gif” anlegen, dann funktioniert das…
in der Version 4.3.1 sieht die product.tpl allerdings so aus:

 [{oxhasrights ident="TOBASKET"}]
        [{ if !$product->isNotBuyable() && !$product->hasMdVariants() }]



        [{if $size=='thin' || $size=='thinest'}]
        <div class="amount">
            <label>[{ oxmultilang ident="DETAILS_QUANTITY" }]</label><input id="test_am_[{$testid}]" type="text" name="am" value="1" size="3">
        </div>
        [{/if}]
        <div class="tocart"><input id="test_toBasket_[{$testid}]" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"></div>
        [{/if}]
    [{/oxhasrights}]

    [{if $product->hasMdVariants() }]
    <span class="btn moreinfo">
        <a id="test_variantMoreInfo_[{$testid}]" class="" href="[{ $_productLink }]" onclick="oxid.mdVariants.getMdVariantUrl('mdVariant_[{$testid}]'); return false;">[{ oxmultilang ident="INC_PRODUCT_VARIANTS_MOREINFO" }]</a>
    </span>
    [{/if}]

und wenn man jetzt die Codzeile fürs Bild an der stelle einfügt wo es vorher auch war , also in etwa so:

[{oxhasrights ident="TOBASKET"}]
        [{ if !$product->isNotBuyable() && !$product->hasMdVariants() }]

        <img class="not_available" alt="Ausverkauft" src="[{$oViewConf->getImageUrl()}]not_available.gif">

        [{if $size=='thin' || $size=='thinest'}]
        <div class="amount">
            <label>[{ oxmultilang ident="DETAILS_QUANTITY" }]</label><input id="test_am_[{$testid}]" type="text" name="am" value="1" size="3">
        </div>
        [{/if}]
        <div class="tocart"><input id="test_toBasket_[{$testid}]" type="submit" value="[{if $size=='small'}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD3" }][{else}][{oxmultilang ident="INC_PRODUCTITEM_ADDTOCARD2"}][{/if}]" onclick="oxid.popup.load();"></div>
        [{/if}]
    [{/oxhasrights}]

    [{if $product->hasMdVariants() }]
    <span class="btn moreinfo">
        <a id="test_variantMoreInfo_[{$testid}]" class="" href="[{ $_productLink }]" onclick="oxid.mdVariants.getMdVariantUrl('mdVariant_[{$testid}]'); return false;">[{ oxmultilang ident="INC_PRODUCT_VARIANTS_MOREINFO" }]</a>
    </span>
    [{/if}]

erscheint zwar das Bild ! Aber leider bei jedem Artikel ( auch die nicht Ausverkauft sind ). Wer kann mir da einen Tipp geben, denn ich finde die Lösung einfach nicht. in der details.tpl habe ich die Lösung finden können aber in der product.tpl gibt er mir das Bild bei allen oder nur bei dehnen die nicht Ausverkauft sind ( also genau verkehrt herum)

gruß Sven