Работая над очередной темой для Magento, появилась необходимость вывести в списке товаров какой либо категории поле ввода количества товаров для добавления товара в корзину. Не смотря на то, что я считаю Magento наиболее продуманным и детализированным бесплатным инструментом для создания интернет-магазинов, такой опции по умолчанию не предусмотрено. Кто его знает почему так, возможно западные бизнес-модели онлайн продаж не требуют такого, но заказчику понадобилось.
В общем, как всегда, благодаря тому, что система темизации Magento детализирована очень скрупулезно мы можем сделать это небольшим трюком, который я нашел на форуме Magento.
Для того чтобы вывести поле количества товаров рядом с кнопкой добавления в корзину вам нужно в папке вашей темы отредактировать шаблон списка товаров. Он находится по такому пути: app/design/frontend/ваша_тема/default/template/catalog/product/list.phtml
. Далее, найти строки которые выводят кнопку добавления в корзину:
<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p> |
И заменить их следующим кодом:
<form action="<?php echo $this->getAddToCartUrl($_product) ?>" method="post" id="product_addtocart_form_<?php echo $_product->getId()?>"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>> <?php if(!$_product->isGrouped()): ?> <label for="qty"><?php echo $this->__('Qty') ?>:</label> <input type="text" class="input-text qty" name="qty" id="qty" maxlength="12" value="<?php echo ($this->getMinimalQty($_product)?$this->getMinimalQty($_product):1) ?>" /> <?php endif; ?> <button type="button" class="button" onclick="this.form.submit()"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> </form> |
Вот и все. Пример был найден по рекомендациям еще в 1.5.х версии Magento, но проверен и работает на 1.7.0