Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
$cart = VirtueMartCart::getCart()
<?php echo shopFunctionsF::getAddToCartButton ($this->product->orderable); ?>
Если не трудно - можешь весь код выложить?1. В файле components\com_virtuemart\views\productdetails\tmpl\default_addtocart.php добавляем:
PHP:$cart = VirtueMartCart::getCart()
2. Тогда в $cart->products будет массив с товарами, которые добавлены в корзину.
3. Переберем массив, если данный товар ($this->product->id) есть в корзине, тогда в строке №120 код:
меняем на тот текст, что нам нужен.PHP:<?php echo shopFunctionsF::getAddToCartButton ($this->product->orderable); ?>
И ведь все равно нужно будет обновлять страницу?1. В файле components\com_virtuemart\views\productdetails\tmpl\default_addtocart.php добавляем:
PHP:$cart = VirtueMartCart::getCart()
2. Тогда в $cart->products будет массив с товарами, которые добавлены в корзину.
3. Переберем массив, если данный товар ($this->product->id) есть в корзине, тогда в строке №120 код:
меняем на тот текст, что нам нужен.PHP:<?php echo shopFunctionsF::getAddToCartButton ($this->product->orderable); ?>
defined('_JEXEC') or die('Restricted access');
if(!class_exists('VirtueMartCart')) require(JPATH_VM_SITE.DS.'helpers'.DS.'cart.php');
$cartProducts = VirtueMartCart::getCart(false)->products;
foreach($cartProducts as $cartProduct){
$inCart = ($cartProduct->virtuemart_product_id==$this->product->virtuemart_product_id);
if ($inCart) break;
}
<?php
// Add To Cart Button
// if (!empty($this->product->prices) and !empty($this->product->images[0]) and $this->product->images[0]->file_is_downloadable==0 ) {
//if (!VmConfig::get('use_as_catalog', 0) and !empty($this->product->prices['salesPrice'])) {
echo $this->loadTemplate('addtocart');
//} // Add To Cart Button END
?>
<div class="<? if($inCart){echo "in_cart";}?>">
<?php echo $this->loadTemplate('addtocart');?>
</div>
Нашел там один более менее рабочий вариант и чуть доработал. Собственно вот:Гугл знает все И вот что гугл мне рассказал: Для просмотра ссылки Войдиили Зарегистрируйся
Это первоисточник того что выложено выше + там еще чуток от пользователей (как например это же сделать вкатегории а не только в карточке товара)...
<?php
if(!class_exists('VirtueMartCart')) require(JPATH_VM_SITE.DS.'helpers'.DS.'cart.php');
$cartProducts = VirtueMartCart::getCart(false)->products;
foreach($cartProducts as $cartProduct){
$inCart = ($cartProduct->virtuemart_product_id==$this->product->virtuemart_product_id);
if ($inCart) break;
}
if($inCart){
echo '<a class="showcart button big floatleft" href= <? echo $this->cart_link;?> >'.'Уже в Корзине'.'</a>';
} else {
echo $this->loadTemplate('addtocart');
}
?>
echo '<a class="showcart button big floatleft" href= <? echo $this->cart_link;?> >'.'Уже в Корзине'.'</a>';
Есть два вопроса:
1. Не могу правильно расставить кавычки в этой строке
2. Можно ли както сделать чтобы кнопка "Уже в Корзине" отображалась сразу после нажатия на "Купить!", а не так что нажал, потом обновил страницу и лишь только после этого появляется "Уже в Корзине".PHP:echo '<a class="showcart button big floatleft" href= <? echo $this->cart_link;?> >'.'Уже в Корзине'.'</a>';
echo '<a class="showcart button big floatleft" href="'.$this->cart_link.'">'.'Уже в Корзине'.'</a>';