Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Как в карточку товара вывести поле покупаемого количества?

Следить
Главная
13:42
24 ноя
#
?
pikasso написал:

Всем привет! подскажите как вывести в карточку товара количество товара для заказа! тоесть я выбираю цвет- выбираю размер - но нет возможности выбрать нужное количество. Да эта функция присудствует в карзине - но не каждый покупатель это сможет заметить! а вот в карточке прежде чем добавить в корзину сможет выбрать нужное количество!

16:35
25 ноя
#
Разработчик написал:

Ответ прост: в тот фрагмент кода, где формируется мини карточка товара, надо добавить input-поле обязательно с идентификатором вида product_ID_count, где ID - идентификатор товара.

Для примера приведу ниже кусок кода, как это сделано в шаблоне default_new (кстати, из имперовских это самый путанно написанный шаблон, так как создавался первый блин комом, однако наиболее протестированный на безбаговость). Лишь позволю себе отвлечься на пару предложений, чтобы в любой другой подобной ситуации понимали, как и где искать ответ.

Итак, список товаров выводится с помощью файла products.tpl упомянутого шаблона. Построчно анализируя код этого файла, выйдем на то, что сам массив товарных карточек выводится с помощью модуля common_parts/product.list.htm. Теперь анализируя построчно код этого модуля, придем к тому, что каждая карточка в свою очередь выводится модулем common_parts/product.htm. И уже внутри его кода обнаружим необходимый фрагмент - ответ на вопрос (нужный кусок помечен синим цветом):

    ...
    ...

    {* кнопка В корзину *}
    <div class="buy">



        {* количество *}
        <span title="Покупаемое количество">

            <input id="product_{$item->product_id|default:''|escape}_count" type="text" value="1">

        </span>



        {* кнопка *}
        <span class="key" title="Положить товар в корзину">

            ...
            ...

        </span>



        {* кнопка Отложить *}
        <span class="defer_key" title="Отложить товар">

            ...
            ...

        </span>



    </div>

    ...
    ...


Обращу внимание еще на то, что в приведенном выше коде используется переменная $item. В вашем шаблоне она возможно будет названа по-другому, если не используете подобные модульные подключения. Тогда имя переменной следует искать в теле инструкции {foreach   $products   as   $некое_имя}, где и происходит перебор записей о товарах текущей страницы.

Осталось продемонстрировать на скриншоте результат. Для примера в то самое упоминавшееся выше input-поле я ввел число 5. Если теперь нажать кнопку В корзину, то движок подхватит это число и занесет в корзину такое количество товара. При отсутствии в карточке товара данного input-поля движок будет считать, что в корзину добавляется 1 товар.




Впрочем, совсем не важно, чтобы данное поле было именно в карточке товара (просто там его расположение самое логичное). Главное чтобы оно было где-то на странице и имело строго такой идентификатор.

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.


Хостинг для сайта

Хостинг для интернет магазина

Svai.net

Украина
г. Черкассы
5+ Заказать

TutHost.ua

Украина
г. Киев
Заказать

Mirohost.net

Украина
г. Киев
? Заказать

HyperHosting.com.ua

Украина
г. Винница
i подробнее Заказать

Agava.ru

Россия
г. Москва
Заказать

Ukraine.com.ua

Украина
г. Киев
5 Заказать
Импераготовасотрудничатьс провайдерами Важно Учтите Этот список перечисляет лишь некоторых хостинг-провайдеров, у которых существуют специальные тарифные планы для интернет магазинов, а сам список не означает, что другие провайдеры чем-то хуже.

Существующие в списке оценки по 5-бальной шкале не должны учитываться при выборе, так как носят субъективный характер и касаются соотношения цена-качество-скорость только для самых дорогих тарифных планов.

Демо Главная Хронология Соглашение Материалы Контакты