Lagerbestand im Artikel mit Anzeigen

Hallo zusammen,

ich habe mal eine “BITTE” an die Programmierer unter Euch :slight_smile:

Wäre evtl. jemand so nett und würde mir ein Code-Schnipsel machen,
mit dem man in der Produkt Detailansicht (detail.tpl) zwischen

  • Lagerbestand Status
    und
  • Auswahllisten

den aktuellen Lagerbestand anzeigen kann … so a la:

Verfügbar : [Wert aus Lagerbestand] [Wert aus Feld Mengeneinheit]

Ich würde das Ganze dann gerne in ein eigenes details-01.tpl (z.B.) packen,
welches man ja einzelnen Artikeln als “Alternatives Template” zuweisen kann.

Ich würde mich sehr freuen :slight_smile:

Hallo an Alle,

hat sich erledigt :slight_smile: hab doch selbst noch was gefunden.
Manchmal helfen andere Suchbegriffe auch weiter.

Für alle die ein ähnliches Thema haben:

[{ $product->oxarticles__oxstock->value }] (ist der Lagerbestand)
und
[{ $product->oxarticles__oxunitname->value }] (ist die Mengeneinheit)

und das ins detail.tpl in die <div class=“status”>.
Ich habs unten vor das schliessende </DIV> Tag reingeschrieben.

Hallo Michael,

danke für’s aufschreiben der Lösung!

Gruß

Hier noch eine Lösung, die auch den unterschiedlichen Lagerbestand von Artikel-Varianten berücksichtigt.
Es wird geprüft, ob der Artikel Varianten hat und ob der angezeigte Artikel selbst eine Variante ist.


      <!-- show stock info -->
      [{if $oView->getVariantList() || $oView->drawParentUrl()}]
	    <!-- if article has variants -->
	    [{ if $oView->drawParentUrl() && count( $oView->getVariantList() ) }]
		  <!-- if article is a variant -->
		  ([{ $product->oxarticles__oxstock->value }] [{ $product->oxarticles__oxunitname->value }] [{ oxmultilang ident="AVAILABLE" }])
	    [{/if}]
      [{else}]
	    <!-- if article has NO variants -->
	    ([{ $product->oxarticles__oxstock->value }] [{ $product->oxarticles__oxunitname->value }] [{ oxmultilang ident="AVAILABLE" }])
      [{/if}]

Ebenfalls in das Template details.tpl eingefügt, z.B. in das DIV

<div class="status">

.

Zur besseren Lesbarkeit habe ich noch ein neues Language-Label - oben verwendet als [{ oxmultilang ident=“AVAILABLE” }] - in die Datei cust_lang.php eingefügt.


'AVAILABLE'                             => "verfügbar",

Viele Grüße
Akali Heiko Hänsge
http://wild-wild-web.de/

bitte beachten für azure:

[{ $oDetailsProduct->oxarticles__oxstock->value }]

heisst es beim azure template.

in der datei:

/htdocs/out/azure/tpl/page/details/inc/productmain.tpl

Würde das gerne auch einbauen. Nur ich finde 2x details.tpl und zwar im Unterordner page und rdfa von Azure in Oxidversion Community Edition 4.6.2_46646.

In beiden finde ich kein <div class=“status”> wo es gem. diesem Thread unten vor das schliessende </DIV> Tag reingeschrieben werden soll.

Kann mir jemand bitte helfen.

schau mal in den Post genau vor Deinem, da stehts für Themes basierend auf Azure

Sorry, ich verstehe das in dem Beitrag so, das es eine Korrektur einer Zeile in dem Script geben muß für Azure.
Dann gehört das korrigierte Script in eine detail.tpl
Diese gibt es -wie von mir erwähnt- 2x und in keiner gibt es das <div class=“status”>.

Da steige ich als Anfänger jetzt nicht mehr durch. Bitte für mich verständlich machen, wo was reingehört.
Danke.

[QUOTE=caladan;64463]
in der datei:

/out/azure/tpl/page/details/inc/productmain.tpl[/QUOTE]

da steht auch in welcher Datei das bei Azure reinmuss

Danke,
nach weiterer Suche habe ich hier: http://forum.oxid-esales.com/showthread.php?p=64384&langid=2
eine für mich als Anfänger nachvollziehbare Erklärung gefunden.

Hallo zusammen,

irgendetwas ist an meinem code noch falsch. Könnt Ihr mir weiterhelfen? :confused::confused:

Community Edition 4.9.5
Azure

Danke:)

                    <!-- show stock info -->
      [{if $oView->getVariantList() || $oView->drawParentUrl()}]
	    <!-- if article has variants -->
	    [{ if $oView->drawParentUrl() && count( $oView->getVariantList() ) }]
		  <!-- if article is a variant -->
		  ([{ oxmultilang ident="strich" }] [{$oDetailsProduct->oxarticles__oxstock->value}] [{ $product->oxarticles__oxunitname->value }] [{ oxmultilang ident="aktlagerbestand" }])
	    [{/if}]
      [{else}]
	    <!-- if article has NO variants -->
	    ([{ oxmultilang ident="strich" }] [{$oDetailsProduct->oxarticles__oxstock->value}] [{ $product->oxarticles__oxunitname->value }] [{ oxmultilang ident="aktlagerbestand" }])
      [{/if}]

Wie genau äußert sich denn dieses “irgendwas ist falsch”?

Ahh stimmt. Sorry.

Wenn ich den Code einfüge und danach versuche auf das Produkt zu klicken, werde ich immer wieder auf die Startseite geleitet.

Kann das etwas damit zu tun haben?

[{ $product->oxarticles__oxunitname->value }]
oder damit?
[{if $oView->getVariantList() || $oView->drawParentUrl()}]
<!-- if article has variants -->
[{ if $oView->drawParentUrl() && count( $oView->getVariantList() ) }]
<!-- if article is a variant -->

Eine Landung auf der Startseite hinterlässt fast immer einen Eintrag im log/exception_log.txt
Schau mal, ob du dort etwas mit den passenden Datum und Uhrzeit findest

Ich blick da nicht ganz durch. Könnt Ihr mir helfen?

oxException (time: 2015-12-02 18:17:24): [0]: Template block file modules/d3/d3_googleanalytics//views/blocks/layout/d3_base_googleadwordscode.tpl) not found for 'd3_googleanalytics' module. 
 Stack Trace: #0  core/oxutilsobject.php(188): oxUtilsObject->_getObject('oxexception', 1, Array)
#1 [internal function]: oxUtilsObject->oxNew('oxException', 'Template block ...')
#2  core/oxfunctions.php(348): call_user_func_array(Array, Array)
#3  core/oxutilsview.php(455): oxNew('oxException', 'Template block ...')
#4  core/oxutilsview.php(510): oxUtilsView->_getTemplateBlock('d3_googleanalyt...', '/views/blocks/l...')
#5  core/smarty/plugins/prefilter.oxblock.php(42): oxUtilsView->getTemplateBlocks('layout/base.tpl')
#6 [internal function]: smarty_prefilter_oxblock('[{* Important !...', Object(Smarty_Compiler))
#7  core/smarty/Smarty_Compiler.class.php(249): call_user_func_array('smarty_prefilte...', Array)
#8  core/smarty/Smarty.class.php(1490): Smarty_Compiler->_compile_file('layout/base.tpl', '[{* Important !...', NULL)
#9  core/smarty/Smarty.class.php(1423): Smarty->_compile_source('layout/base.tpl', '[{* Important !...', NULL, '/kunden/homepag...')
#10  core/smarty/Smarty.class.php(1868): Smarty->_compile_resource('layout/base.tpl', '/kunden/homepag...')
#11  tmp/smarty/694d18ab2b77a4bccd51c38ecf89f62e^%%36^366^366ECF91%%page.tpl.php(99): Smarty->_smarty_include(Array)
#12  core/smarty/Smarty.class.php(1870): include('/homepages/18/d...')
#13  tmp/smarty/694d18ab2b77a4bccd51c38ecf89f62e^%%08^08A^08ABD53A%%details.tpl.php(15): Smarty->_smarty_include(Array)
#14  core/smarty/Smarty.class.php(1264): include('/homepages/18/d...')
#15  core/oxshopcontrol.php(508): Smarty->fetch('page/details/de...', 'ox|0|0|0|0|oxid...')
#16  core/oxshopcontrol.php(353): oxShopControl->_render(Object(detailspdf))
#17  modules/_d3modcfg/modules/controllers/d3_oxshopcontrol_modcfg_extension.php(144): oxShopControl->_process('details', NULL, NULL, NULL)
#18  core/oxshopcontrol.php(126): d3_oxshopcontrol_modcfg_extension->_process('details', NULL, NULL, NULL)
#19  modules/_d3modcfg/modules/controllers/d3_oxshopcontrol_modcfg_extension.php(61): oxShopControl->start(NULL, NULL, NULL, NULL)
#20  core/oxid.php(40): d3_oxshopcontrol_modcfg_extension->start()
#21  index.php(26): Oxid::run()
#22  oxseo.php(44): require('/homepages/18/d...')
#23 {main}

Probiers damit… auf Github: https://github.com/vendingtechnik/VTEC_Lagerbestand

LG Pasquale