Freeman Liberty
Постоялец
- Регистрация
- 19 Май 2009
- Сообщения
- 489
- Реакции
- 173
- Автор темы
- #1
Искал способ вставить кнопку "купить" и ввод кол-ва товара на страницу категории товара рядом с кнопкой "подробнее".
Не сильно силен в php, поэтому код, возможно, можно было бы и упростить (брал частями из default_addtocart.php и helper.php модуля вывода товаров).
У меня все работает, глюков не заметил.
Вообщем в файл default.php расположенный в ваш шаблон\html\com_virtuemart\category либо в аналогичном файле расположенном в components\com_virtuemart\views\category\tmpl\
вставляем следующий кусок кода
После чего на странице категории появляется кнопка "Купить" с возможностью ввода кол-ва товара.
Если у кого будут предложения по улучшению - милости просим.
Не сильно силен в php, поэтому код, возможно, можно было бы и упростить (брал частями из default_addtocart.php и helper.php модуля вывода товаров).
У меня все работает, глюков не заметил.
Вообщем в файл default.php расположенный в ваш шаблон\html\com_virtuemart\category либо в аналогичном файле расположенном в components\com_virtuemart\views\category\tmpl\
вставляем следующий кусок кода
PHP:
<div class="addtocart-area">
<form method="post" class="product" action="index.php">
<?php
// Product custom_fields
?>
<div class="addtocart-bar">
<?php // Display the quantity box
$stockhandle = VmConfig::get('stockhandle', 'none');
if (($stockhandle == 'disableit' or $stockhandle == 'disableadd') and ($this->product->product_in_stock - $this->product->product_ordered) < 1) {
?>
<a href="<?php echo JRoute::_('index.php?option=com_virtuemart&view=productdetails&layout=notify&virtuemart_product_id='.$this->product->virtuemart_product_id); ?>" class="notify"><?php echo JText::_('COM_VIRTUEMART_CART_NOTIFY') ?></a>
<?php } else { ?>
<!-- <label for="quantity<?php echo $this->product->virtuemart_product_id; ?>" class="quantity_box"><?php echo JText::_('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> -->
<span class="quantity-box">
<input type="text" class="quantity-input js-recalculate" name="quantity[]" value="<?php if (isset($this->product->min_order_level) && (int) $this->product->min_order_level > 0) {
echo $this->product->min_order_level;
} else {
echo '1';
} ?>" />
</span>
<span class="quantity-controls js-recalculate">
<input type="button" class="quantity-controls quantity-plus" />
<input type="button" class="quantity-controls quantity-minus" />
</span>
<?php // Display the quantity box END ?>
<?php
}
// Add the button
$button_lbl = JText::_('COM_VIRTUEMART_CART_ADD_TO');
$button_cls = '';
// Display the add to cart button
$stockhandle = VmConfig::get('stockhandle','none');
if(($stockhandle=='disableit' or $stockhandle=='disableadd') and ($product->product_in_stock - $product->product_ordered)<1){
$button_lbl = JText::_('COM_VIRTUEMART_CART_NOTIFY');
$button_cls = 'notify-button';
$button_name = 'notifycustomer';
}
?>
<?php // Display the add to cart button ?>
<span class="addtocart-button">
<input type="submit" name="addtocart" class="addtocart-button" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
</span>
<div class="clear"></div>
</div>
<input type="hidden" class="pname" value="<?php echo $product->product_name ?>"/>
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>" />
<input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>" />
</form>
<div class="clear"></div>
</div>
После чего на странице категории появляется кнопка "Купить" с возможностью ввода кол-ва товара.
Если у кого будут предложения по улучшению - милости просим.