Опубликовано автор в категориях Magento.

Работая над очередной темой для 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

Оставить комментарий

  • (не будет показан)