в сопутствующих товарах, как и в каталоге (в браусе), кнопка "купить" работает только если у товара нет выбираемых свойств, а если свойства есть то при нажатии кнопки "купить" товар в корзину не добавляется, а вылезает сообщение о необходимости выбрать свойства.
Поэтому и интересует как вывести выбор свойств в сопутствующие товары чтобы покупатель мог добавить доп.товары прямо с карточки основного, не заходя в карточку дополнительного.
вот пример http://www.fashion-brands.ru/catalog/5571 (не моё, просто пример), интересует что бы вместо надписи в наличии в сопутствующих был выбор размера и кнопка "купить", сейчас же для покупки нужно нажать на товар, зайти в его карточку, выбрать размер, нажать купить
1. В файле
ps_product.php:
Найти функцию
function product_snapshotи внизу, в блоке, отвечающем за отправку в корзину, закоментировать строку:
&& !$this->product_has_attributes($product_id, true)Таким образом мы разрешаем показ кнопки "купить", если у товара есть свойства.
=============================================================================
2. В файле
productsnapshot.tpl:
Вверху, после:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );вставить для подключения:
$ps_product = new ps_product;
$ps_product_attribute = new ps_product_attribute;
$db = new ps_DB;и в этом же файле несколько изменить блок кода, отвечающего за отправку товара в корзину:
<!-- The add to cart DIV. -->
<div style="text-align:center;" width="100%">
<div align="left">
<?php
if( !empty($addtocart_link) ) {
?>
</div>
<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="<?php echo uniqid('addtocart_')?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
<?php echo $ps_product_attribute->list_advanced_attribute($product_id,$product_id); ?>
<div align="left">
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="page" value="shop.cart" />
<input type="hidden" name="Itemid" value="<?php echo ps_session::getShopItemid(); ?>" />
<input type="hidden" name="func" value="cartAdd" />
<input type="hidden" name="prod_id" value="<?php echo $product_id; ?>" />
<input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
<input type="hidden" name="quantity" value="1" />
<input type="hidden" name="set_price[]" value="" />
<input type="hidden" name="adjust_price[]" value="" />
<input type="hidden" name="master_product[]" value="" />
<input type="submit" class="addtocart_button_module" value="<?php echo $VM_LANG->_('PHPSHOP_CART_ADD_TO')?>" title="<?php echo $VM_LANG->_('PHPSHOP_CART_ADD_TO')?>" />
</div>
</form>
<br />
<?php
}
?>
</div>Таким образом, отправка товара в корзину будет происходить без перезагрузки ( штатный ajax), выбрав свойства (если есть).
Вроде ничего не забыл... (но как знать?)
PS, это только код - надеюсь, над стилистикой поработаете сами...