Как вывести "добавить в корзину" на странице категории в VirtueMart 3?

  • 4 Ответов
  • 896 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Всем привет! Сайт делаю на Joomla 3.4, VirtueMart 3.0.9 - http://fjordvik.ru/katalog-obuvi

Не получается вставить код для добавления товаров в корзину сразу на странице категории.

На VirtueMart 2 эта задача решалась по другому, а для VirtueMart 3 это решение не подходит!

Нашел файл, который отвечает за вывод кнопки "описание товара": /components/com_virtuemart/sublayouts/products.php

Удалить или скрывать в стилях нужно этот блок:
Код
<div class="vm-details-button">
<?php // Product Details Button
$link = empty($product->link)? $product->canonical:$product->link;
echo JHtml::link($link.$ItemidStr,vmText::_ ( 'COM_VIRTUEMART_PRODUCT_DETAILS' ), array ('title' => $product->product_name, 'class' => 'product-details' ) );
//echo JHtml::link ( JRoute::_ ( 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id , FALSE), vmText::_ ( 'COM_VIRTUEMART_PRODUCT_DETAILS' ), array ('title' => $product->product_name, 'class' => 'product-details' ) );
?>
</div>

Но вот какой код добавить вместо него?



Нашел решение сам )

Необходимо взять код из файла в той же директории "addtocart.php"

Код
<div class="addtocart-area">
<form method="post" class="product js-recalculate" action="<?php echo JRoute::_ ('index.php?option=com_virtuemart',false); ?>">
<?php

if(!empty($rowHeights['customfields'])) echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'addtocart'));

if (!VmConfig::get('use_as_catalog', 0)  ) {

echo shopFunctionsF::renderVmSubLayout('addtocartbar',array('product'=>$product));

} ?>
<input type="hidden" name="option" value="com_virtuemart"/>
<input type="hidden" name="view" value="cart"/>
<input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>"/>
<input type="hidden" name="pname" value="<?php echo $product->product_name ?>"/>
<input type="hidden" name="pid" value="<?php echo $product->virtuemart_product_id ?>"/>
<?php
$itemId=vRequest::getInt('Itemid',false);
if($itemId){
echo '<input type="hidden" name="Itemid" value="'.$itemId.'"/>';
} ?>
</form>

</div>

Ну а дальше играйтесь со стилями и пр.

*

lav61

Не могли бы поконкретней, как вы решили эту задачу, заранее благодарю...
Столкнулся с задачей отображения кнопки купить в категории Joomla 3.4, VirtueMart 3.

Не могли бы поконкретней, как вы решили эту задачу, заранее благодарю...
Столкнулся с задачей отображения кнопки купить в категории Joomla 3.4, VirtueMart 3.

Всё просто - вставляете указанный код в то место файла категории, где вам нужно вывести кнопку корзины. Для меня этот файл находится здесь: /public_html/templates/jsn_venture_free/html/название_вашего_шаблона/category
А файл - default.php

*

a2exfr

можно добавить одной строкой

Код
echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product));