[Magento] Voorraad aantallen tonen

1
Hallo,

Als ik nu op een product klik dan zie je staan Availability: In voorraad.

Wat ik graag wil is dat je ziet staan Availability: 300

Het liefste wil ik dat de Availabilty Beschikbaar: wordt en dan dat het in het totaal plaatje zo moet uitzien:

Beschikbaar: 300 m2

Kan iemand mij hier misschien mee helpen? Ik ben zelf namelijk een totale leek op code gebied.

Alvast bedankt!

Re: [Magento] Voorraad aantallen tonen

3
Even aanvullend mijn eigen variatie hierop met voorwaarden voor maximaal te tonen voorraad en een custom attribuut voor een melding bij producten die te onder 0 te bestellen zijn.

Code: Selecteer alles

<?php $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty() ?>
<?php $advanceorders = $_product->getPreOrders() ?>

<!-- DISPLAYING AVAILABILITY IN STOCK -->
<?php if($_product->isSaleable() && ($stocklevel==1)): ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="in-stock">1 stuk op voorraad</span>') ?><br />
	<?php echo $this->__('<span class="info-tekst">Dit product is op voorraad in ons magazijn en direct leverbaar.<br />Op werkdagen vóór <strong>18.00 uur</strong> besteld, <strong>vandaag verzonden!</strong></span>') ?></p>

<?php elseif($_product->isSaleable() && ($stocklevel>10)): ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="in-stock">10+ stuks op voorraad</span>') ?><br />
	<?php echo $this->__('<span class="info-tekst">Dit product is op voorraad in ons magazijn en direct leverbaar.<br />Op werkdagen vóór <strong>18.00 uur</strong> besteld, <strong>vandaag verzonden!</strong></span>') ?></p>
    
<?php elseif($_product->isSaleable() && ($stocklevel>1)): ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="in-stock">') ?><?= (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()?><?php echo $this->__(' stuks op voorraad</span>') ?><br />
	<?php echo $this->__('<span class="info-tekst">Dit product is op voorraad in ons magazijn en direct leverbaar.<br />Op werkdagen vóór <strong>18.00 uur</strong> besteld, <strong>vandaag verzonden!</strong></span>') ?></p>
    
    
<!-- DISPLAYING CUSTOM ATTRIBUTE MESSAGE -->
<?php elseif($_product->isSaleable() && ($stocklevel<=0) && ($advanceorders==0)): ?>    
    <p ><span class="titel">Actuele status:</span>  <span class="pre-order"><?php echo $_product->getResource()->getAttribute('voorraad')->getFrontend()->getValue($_product) ?></span><br /><span class="info-tekst"><?php echo $_product->getResource()->getAttribute('levertijd')->getFrontend()->getValue($_product) ?></span></p>
    
<!-- DISPLAYING AVAILABILITY OUT OF STOCK & NUMBER OF ITEMS IN STOCK WHERE QTY<0 -->
<?php else: ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="out-stock">Tijdelijk uitverkocht</span><br /><span class="info-tekst">Dit product is niet op voorraad. Schrijf u invoor een voorraad<br>melding via bovenstaande link. U krijgt dan direct bericht bij nieuwe voorraad.</span>') ?></p>
<?php endif; ?>

Re: [Magento] Voorraad aantallen tonen

4
Rudy schreef:Even aanvullend mijn eigen variatie hierop met voorwaarden voor maximaal te tonen voorraad en een custom attribuut voor een melding bij producten die te onder 0 te bestellen zijn.

Code: Selecteer alles

<?php $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty() ?>
<?php $advanceorders = $_product->getPreOrders() ?>

<!-- DISPLAYING AVAILABILITY IN STOCK -->
<?php if($_product->isSaleable() && ($stocklevel==1)): ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="in-stock">1 stuk op voorraad</span>') ?><br />
	<?php echo $this->__('<span class="info-tekst">Dit product is op voorraad in ons magazijn en direct leverbaar.<br />Op werkdagen vóór <strong>18.00 uur</strong> besteld, <strong>vandaag verzonden!</strong></span>') ?></p>

<?php elseif($_product->isSaleable() && ($stocklevel>10)): ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="in-stock">10+ stuks op voorraad</span>') ?><br />
	<?php echo $this->__('<span class="info-tekst">Dit product is op voorraad in ons magazijn en direct leverbaar.<br />Op werkdagen vóór <strong>18.00 uur</strong> besteld, <strong>vandaag verzonden!</strong></span>') ?></p>
    
<?php elseif($_product->isSaleable() && ($stocklevel>1)): ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="in-stock">') ?><?= (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()?><?php echo $this->__(' stuks op voorraad</span>') ?><br />
	<?php echo $this->__('<span class="info-tekst">Dit product is op voorraad in ons magazijn en direct leverbaar.<br />Op werkdagen vóór <strong>18.00 uur</strong> besteld, <strong>vandaag verzonden!</strong></span>') ?></p>
    
    
<!-- DISPLAYING CUSTOM ATTRIBUTE MESSAGE -->
<?php elseif($_product->isSaleable() && ($stocklevel<=0) && ($advanceorders==0)): ?>    
    <p ><span class="titel">Actuele status:</span>  <span class="pre-order"><?php echo $_product->getResource()->getAttribute('voorraad')->getFrontend()->getValue($_product) ?></span><br /><span class="info-tekst"><?php echo $_product->getResource()->getAttribute('levertijd')->getFrontend()->getValue($_product) ?></span></p>
    
<!-- DISPLAYING AVAILABILITY OUT OF STOCK & NUMBER OF ITEMS IN STOCK WHERE QTY<0 -->
<?php else: ?>
    <p class="availability"><?php echo $this->__('<span class="titel">Actuele status:</span>  <span class="out-stock">Tijdelijk uitverkocht</span><br /><span class="info-tekst">Dit product is niet op voorraad. Schrijf u invoor een voorraad<br>melding via bovenstaande link. U krijgt dan direct bericht bij nieuwe voorraad.</span>') ?></p>
<?php endif; ?>
Hallo,

Dankjewel, echter zoek ik altijd in het Engels op Google.

Maar als ik het zo bekijk dan moet ik met jouw code (aangepast) dit krijgen "Beschikbaar: 300 m2" ?

Die m2 moet altijd vast staan.
Advertentie

Met Shopify maak je zelf je eigen webwinkel dankzij meer dan honderd thema’s en de complete appstore. Shopify sluit ook goed aan op dropshippers. De software is technisch volledig SEO-geoptimaliseerd en biedt alle sociale media-integraties. Meer info op Shopify.com.

Re: [Magento] Voorraad aantallen tonen

5
wat wil je precies weergeven? Alles tonen of tot een limiet en dan "Meer dan ??? m2 op voorraad"?
Mijn voorbeeld is zo aan te passen naar wat je nodig hebt. Als je niets onder 0 verkoopt is het deel met extra attributen niet nodig (maakt het ook een stuk gemakkelijker te implementeren). Laat maar weten wat je nodig hebt dan pas ik het even aan.

Re: [Magento] Voorraad aantallen tonen

6
Rudy schreef:wat wil je precies weergeven? Alles tonen of tot een limiet en dan "Meer dan ??? m2 op voorraad"?
Mijn voorbeeld is zo aan te passen naar wat je nodig hebt. Als je niets onder 0 verkoopt is het deel met extra attributen niet nodig (maakt het ook een stuk gemakkelijker te implementeren). Laat maar weten wat je nodig hebt dan pas ik het even aan.
Hallo Rudy,

Fijn dat je mij hiermee wilt helpen.

De huidige staat van zaken is dat dit bij het product staan:

Availability: In Voorraad

Wat ik wil dat er staat is dit:

Beschikbaar: 300 (willekeurig getal die ik moet kunnen instellen) m2 (m2 moet vast staan bij elk product)

Beschikbaar: 300 m2

Alvast bedankt!

Re: [Magento] Voorraad aantallen tonen

7
Deze versie is vrij simpel opgezet. Wel of niet op voorraad en bij voorraad het aantal met m2 erachter. De css kan je zelf nog wijzigen. Dat heb ik geheel verwijderd.

Code: Selecteer alles

<?php $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty() ?>
<?php $advanceorders = $_product->getPreOrders() ?>

<!-- DISPLAYING AVAILABILITY IN STOCK -->
<?php if($_product->isSaleable() && ($stocklevel>0)): ?>
    <p><?php echo $this->__('Beschikbaar: ') ?><?= (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()?><?php echo $this->__(' m2</span>') ?></p>
   
<!-- DISPLAYING AVAILABILITY OUT OF STOCK & NUMBER OF ITEMS IN STOCK WHERE QTY<0 -->
<?php else: ?>
    <p><?php echo $this->__('Beschikbaar: Uitverkocht') ?></p>
<?php endif; ?>

Re: [Magento] Voorraad aantallen tonen

11
Rudy schreef:Ik geloof standaard hier: ("template" is je eigen template map)

Code: Selecteer alles

code/frontend/.../template/catalog/product/view.phtml
Ik heb het iets verbouwd. Hoe het origineel exact zit weet ik niet meer.
De code werkt niet echt lekker.

Ik heb hieronder een plaatje van hoe het eruitziet en hoe ik het wil.

1: Hoe het is
2: Hoe het moet worden

Afbeelding


Als ik jouw code in de view.phtml plaats dan staat er ten eerste "Niet in voorraad" terwijl er wel voorraad is en ten tweede is het lettertype en overige anders.

Alvast bedankt!

Re: [Magento] Voorraad aantallen tonen

13
Sorry. Ik was het topic even uit het oog verloren.

De code moet standaard in onderstaand bestand:

Code: Selecteer alles

/your-theme/template/catalog/product/view/type/default.phtml
Als je daar de code neerzet die ik als eerste had gepost moet je maar kijken hoe dat aangepast moet worden. Waar ik "stuks" heb staan moet je het aanpassen naar m2. Als je de output ziet is het ook wat gemakkelijker aan te passen.

Re: [Magento] Voorraad aantallen tonen

14
Hallo,

Met veel interesse dit topic gelezen. Ook ik wil graag dat de voorraadaantallen zichtbaar worden. Echter krijg ik het niet voor elkaar.
Heb de code geknipt en geplakt, volgens mij in de juiste file. Maar het lukt me niet.

Heeft het te maken dat ik Magento 1.9 heb?

Re: [Magento] Voorraad aantallen tonen

15
De vraag is natuurlijk: was het wel het juiste bestand? 

Middels de template hints van Magento kom je hier snel achter. Hou er verder rekening mee dat je Magento Cache, Magento Compilatie en je Server Caches uit moeten staan omdat je wijzigingen anders niet zichtbaar zullen zijn.