Joomla 5.2.2 Security & Bugfix Release
Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.
Virtuemart - jak zobrazit, že je produkt skladem?
03. led 2019 09:09 #138509
Dobrý den,
rozhodl jsem se poprosit chytřejší hlavy než jsem já, jestli by mě někdo neporadil. Upozorňuju, že nejsem žádný velký programátor a o PHP vím úplné nic.
Potřebuji v kartě produktu zobrazit Dostupnost zboží. Ideálně aby mi tam svítilo Skladem nebo Není na skladě. Při nedostupnosti zboží mám nastaveno, že tlačítko Přidat do košíku se změní na Upozornit a nedovolí zákazníkovi produkt objednat.
Návod jsem našel na webu tady Virtuemart 3.0.8: jak zobrazovat dostupnost, i když je zboží skladem a postupoval podle něj.
Pracuju v šabloně Horme 3 pro VirtueMart.
Upravil jsem stockhadle.php bez problémů, ale mám problém kam umístit vyvolání do šablony detailu produktu default.php.
Tato část kódu tam bohužel je, ale funguje pouze pokud nastavím v nastavení Virtuemartu "Výrobky nejsou skladem, lze je objednat, a pole 'dostupnost' se zobrazí".
V případě nastavení "Zobrazuje 'Upozornit' místo tlačítka 'Přidat do košíku" tak se mi zdá, že kód vůbec neproběhne.
Neporadí mi někdo, kam bych měl umístit uvedené echo, aby se mi Dostupnost zboží zobrazila vždy resp. při nastavení "Zobrazuje 'Upozornit' místo tlačítka 'Přidat do košíku"?
Budu vděčný za jakýkoliv názor nebo pomoc.
Předem moc děkuju.
Vladimír
Tady přikládám část PHP, kam by se měl vložit uvedený kód:
rozhodl jsem se poprosit chytřejší hlavy než jsem já, jestli by mě někdo neporadil. Upozorňuju, že nejsem žádný velký programátor a o PHP vím úplné nic.
Potřebuji v kartě produktu zobrazit Dostupnost zboží. Ideálně aby mi tam svítilo Skladem nebo Není na skladě. Při nedostupnosti zboží mám nastaveno, že tlačítko Přidat do košíku se změní na Upozornit a nedovolí zákazníkovi produkt objednat.
Návod jsem našel na webu tady Virtuemart 3.0.8: jak zobrazovat dostupnost, i když je zboží skladem a postupoval podle něj.
Pracuju v šabloně Horme 3 pro VirtueMart.
Upravil jsem stockhadle.php bez problémů, ale mám problém kam umístit vyvolání do šablony detailu produktu default.php.
Code:
echo shopFunctionsF::renderVmSubLayout('stockhandle',array('product'=>$this->product));
V případě nastavení "Zobrazuje 'Upozornit' místo tlačítka 'Přidat do košíku" tak se mi zdá, že kód vůbec neproběhne.
Neporadí mi někdo, kam bych měl umístit uvedené echo, aby se mi Dostupnost zboží zobrazila vždy resp. při nastavení "Zobrazuje 'Upozornit' místo tlačítka 'Přidat do košíku"?
Budu vděčný za jakýkoliv názor nebo pomoc.
Předem moc děkuju.
Vladimír
Tady přikládám část PHP, kam by se měl vložit uvedený kód:
Code:
<div class="vm-product-details-container col-md-5">
<div class="spacer-buy-area">
<div class="row">
<?php
echo shopFunctionsF::renderVmSubLayout('rating',array('showRating'=>$this->showRating,'product'=>$this->product));
if ( VmConfig::get ('display_stock', 1)) { ?>
<div class="text-right col-md-4 col-xs-4 pull-right">
<span class="vmicon vm2-<?php echo $stockinfo->stock_level; ?> glyphicon glyphicon-signal hasTooltip" title="<?php echo $stockinfo->stock_tip; ?>"></span>
</div>
<?php } ?>
</div>
<?php
// Manufacturer of the Product
if (VmConfig::get('show_manufacturers', 1) && !empty($this->product->virtuemart_manufacturer_id)) {
echo $this->loadTemplate('manufacturer');
}
?>
<hr>
<?php
// Product Short Description
if (!empty($this->product->product_s_desc)) {
?>
<div class="product-short-description small well well-sm">
<?php
echo nl2br($this->product->product_s_desc);
?>
</div>
<?php
} // Product Short Description END
echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$this->product,'currency'=>$this->currency));
echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$this->product));
echo shopFunctionsF::renderVmSubLayout('stockhandle',array('product'=>$this->product));
if (!empty($this->productDisplayTypes)) {
echo '<hr>';
}
foreach ($this->productDisplayTypes as $type=>$productDisplayType) {
foreach ($productDisplayType as $productDisplay) {
foreach ($productDisplay as $virtuemart_method_id =>$productDisplayHtml) {
?>
<div class="<?php echo substr($type, 0, -1) ?> <?php echo substr($type, 0, -1).'-'.$virtuemart_method_id ?> small text-muted">
<?php
echo $productDisplayHtml;
?>
</div>
<?php
}
}
}
// PDF - Print - Email Icon
$askquestion_url = JRoute::_('index.php?option=com_virtuemart&view=productdetails&task=askquestion&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component', FALSE);
if ( VmConfig::get('show_emailfriend') || VmConfig::get('show_printicon') || VmConfig::get('pdf_icon') || VmConfig::get('ask_question') ) {
?>
<hr>
<div class="icons btn-group btn-group-xs btn-group-justified">
<?php
$link = 'index.php?tmpl=component&option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $this->product->virtuemart_product_id;
$MailLink = 'index.php?option=com_virtuemart&view=productdetails&task=recommend&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component';
if (VmConfig::get('pdf_icon')) {
?>
<a class="btn btn-default hasTooltip" href="<?php echo $link . '&format=pdf';?>" title="<?php echo vmText::_('COM_VIRTUEMART_PDF')?>">
<span class="glyphicon glyphicon-file"></span>
</a>
<?php
}
if (VmConfig::get('show_printicon')) {
?>
<a class="btn btn-default printModal hasTooltip" href="<?php echo $link . '&print=1';?>" title="<?php echo vmText::_('COM_VIRTUEMART_PRINT')?>">
<span class="glyphicon glyphicon-print"></span>
</a>
<?php
}
if (VmConfig::get('show_emailfriend')) {
?>
<a class="iframe-src btn btn-default hasTooltip" href="#form-collapse-anchor" data-href="<?php echo $MailLink;?>" title="<?php echo vmText::_('COM_VIRTUEMART_EMAIL')?>">
<span class="glyphicon glyphicon-envelope"></span>
</a>
<?php
}
if (VmConfig::get('ask_question')) {
?>
<a class="iframe-src btn btn-default hasTooltip" href="#form-collapse-anchor" data-href="<?php echo $askquestion_url ?>" title="<?php echo vmText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL') ?>">
<span class="glyphicon glyphicon-question-sign"></span>
</a>
<?php
}
?>
</div>
<?php
}
?>
</div>
</div>
03. led 2019 19:04 - 03. led 2019 19:06 #138516
Odpověď od Ernst
Joomla Expert
pokud vůbec neznáte ani minimum z HTML a PHP, požádejte někoho, kdo má čas, ať vám to za nějaký peníz upraví.
Uvědomte si, že ten návod je z roku 2015 a to již bude vše jinak.
Uvědomte si, že ten návod je z roku 2015 a to již bude vše jinak.
Poděkovali: Vladimír
03. led 2019 21:52 #138524
Odpověď od Vladimír
Nováček
Ne že bych neuměl vůbec nic, ale nejsem profík. I tak jsem pochopil, že to kód není aktuální a je mnohem složitější.
Máte úplnou pravdu. Díky za reakci.
V.
Máte úplnou pravdu. Díky za reakci.
V.
04. led 2019 08:43 #138531
MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Odpověď od Rudolf
Joomla Expert
Souhlasím s Ernstem.
Umístění echa Vám nepomůže. Echo jen zobrazí další sublayout ve kterém jsou další funkce a ty závisí na nastavení v administraci, takže se Vám proto zádné informace nezobrazí.
Je třeba aby někdo programátor rozuměl jaké funkce to jsou a jak fungují a pak je možné v tomto sublayoutu udělat nějaké úpravy na míru
Umístění echa Vám nepomůže. Echo jen zobrazí další sublayout ve kterém jsou další funkce a ty závisí na nastavení v administraci, takže se Vám proto zádné informace nezobrazí.
Je třeba aby někdo programátor rozuměl jaké funkce to jsou a jak fungují a pak je možné v tomto sublayoutu udělat nějaké úpravy na míru
MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Poděkovali: Vladimír