Последние темы


Вопрос про добавление товара в корзину.

  • Добрый день всем!

    Вопрос такого характера не получается добавить товар в корзину.

    Вывожу товары в категории таким способом:

     [[!getPage@page_navi?
    &elementClass=`modSnippet`
    &element=`getResources`
    &includeTVs=`1`
    &processTVs=`1`
    &limit=`1`
    &tpl=`tovarTpl`
    &depth=`0`
    &parents=`[[*id]]`
    ]]
    

    Структура вот такая:

    0_1469689838835_34.png

    При добавлении товара в корзину почему то в корзину добавляет еще контейнер в котором хранится товар:

    0_1469689905210_35.png

    Подскажите где я допустил ошибку. Спасибо.

  • В логах такая ошибка

    [2016-07-28 10:57:36] (ERROR @ /var/www/vh56124/data/www/site.ru/core/model/modx/modscript.class.php : 70) PHP warning: include() [<a href='function.include'>function.include</a>]: Unable to allocate memory for pool.

  • Покажите содержимое чанка "tovarTpl".

  • <div class="product shk-item">
       <div class="tovar-block">
          <div class="tovar-thumb">
             <a href="[[~[[+id]]? &scheme=`abs`]]">
             <img class="shk-image" src="[[+tv.image:phpthumbof=`w=280&h=190&zc=1&f=jpg&q=94`]]"/>
             </a>
          </div>
          <div class="tovar-opis">
             <h3><a href="[[~[[+id]]? &scheme=`abs`]]">[[+pagetitle]]</a></h3>
             <form action="[[~[[*id]]? &scheme=`abs`]]" method="post">
                <fieldset>
                   <input type="hidden" name="shk-id" value="[[+id]]" />
                   <input type="hidden" name="shk-count" value="1" />
                   <div class="tovar-price">
                      <div class="old-price">
                         <span>40 000</span>
                         <img src="images/old-price.png" alt="">
                      </div>
                      <div class="new-price">
                         <button type="submit" class="shk-but"><a href=""><span class="shk-price">[[+tv.price]]</span><img class="imgtov" src="images/cart-tov.png" alt=""> </a></button>
                      </div>
                   </div>
                </fieldset>
             </form>
          </div>
       </div>
    </div>
    
  • вот исходный код в браузере я только понять не могу почему в <form action="/catalog/kuhni/modulnyie-kuxni/" method="post">

    ссылка не такая - /, а на контейнер - /catalog/kuhni/modulnyie-kuxni/

    <div class="product shk-item">
        <div class="product-b">
            <div class="product-descr">
                <a href="/catalog/kuhni/modulnyie-kuxni/divan-monako-300x165sm/">
                    <img class="shk-image" src="img/01.jpg" alt="" height="130" width="130" />
                </a>
                <h3>Диван МОНАКО 300х165см</h3>
                <br />
                <a href="/catalog/kuhni/modulnyie-kuxni/divan-monako-300x165sm/">Details &rsaquo;</a>
                <div style="clear:both;"></div>
            </div>
            <form action="/catalog/kuhni/modulnyie-kuxni/" method="post">
                <fieldset>
                    <input type="hidden" name="shk-id" value="3" />
                    <input type="hidden" name="shk-count" value="1" />
                    <div class="product-price">
                        <button type="submit" class="shk-but">Add to cart</button>
                        <div>Price: <span class="shk-price">20 000</span> руб.</div>
                    </div>
                </fieldset>
            </form>
        </div>
    </div>
    
  • проблема была в хостинге версия php 5.3.
    Данная проблема связана с акселератором APC. Попробуйте отключить его или заменить другим. Zend OPcache, xCache или eAccelerator.

    Заменил на Zend OPcache все ок

 

Последние комментарии

  • @LoGruS Поправка, привязываемся к значению [[+value]]

    Читать далее
  • Участник @Andchir написал в Ограничение покупки:

    SHK.recountItemAll();

    Андрей, спасибо! Сделал, работает и обновление цены и ограничение товаров по инвентори.

    Итоговый вариант (вдруг кому пригодится):

    Поле кол-во товара:

    <input class="shk-count" type="number" name="count[]" value="[[+count]]" min="1" max="[[+inventory]]" />

    Кнопка пересчитать:

    <a href="#" onclick="SHK.recountItemAll(); return false;" data-toggle="tooltip" title="Пересчитать">Пересчитать</a>

    ИТОГО - контроль кол-ва.

    Читать далее
  • Решается без костылей из js

    [[+name:is=`color`:then=`<label for="[[+name]]__[[+idx]]" class="d-block custom-control-label shk-color-checkbox [[+name]][[+idx]]" title="[[+value]]"></label><p class="ml-40">[[+value]]</p>`:else=`<label for="[[+name]]__[[+idx]]">[[+value_name]]</label>`]]

    Получаем на странице строку такого вида:

    <label for="color__1" class="d-block custom-control-label shk-color-checkbox color1" title="Голубой"></label><sup>17</sup><p class="ml-40">Голубой</p>

    Привязываемся в css к классу color1, а дальше CSS спрайты и стили решают все, проверенно, работает 😃 Спасибо Андрею и его демо-сайту с shopkeeper4, подглядел решение на нем.

    Читать далее