We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 1477
    • 515 Posts
    Публикую план работ по шопкиперу. Планирую заняться этим в ближайшее время. Если кто-то считает, что я упустил что-то важное, просьба отписаться.

    1. Сделать экстендер для Ditto (обработать вариант от SSDTyphon);
    2. Сделать возможным работу с отключенным в браузере JavaScript. Поправить неудобные моменты с CSS-классами;
    3. Доделать режим Ajax. Переделать сохранение в сессии.
    4. Сделать параметр "кол-во на складе" с изменением при покупке (обработать вариант от bwente);
    5. Сделать шаблоны (чанки) для корзины в режиме Ajax;
    6. Изменять цену товаров в зависимости от выбранных по умолчанию параметров при загрузке страницы;
    7. Сделать возможность изменять цену при изменении параметров (без строки с плюсом);
    8. Перевести документацию и примеры чанков на англ. (обработать перевод от mconsidine).
    9. Добавить возможность интеграции с платежными системами (в виде доп. сниппетов).
    10. "Мультивалютность" товара.

    Планы на новую версию засекречены smiley , но она обязательно будет.

      Shopkeeper - сниппет и модуль для создания интернет-магазина.
      TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
      PickDocsInTree - плагин для выбора документов из дерева.
      Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
      • 26564
      • 162 Posts
      Можно добавить мультивалютность товара.

      У меня на сайте товар который поставщики отпускают в разной валюте USD,EUR и в рублях конечно то-же. Чтоб не пересчитывать каждый день все цены в рубли пользую довольно сложную конструкцию.

      shopStuff
      <div class="shop-stuff">
        <div class="relative">
          <div class="shs-title">[+title+]</div>
          <div>[+tvimages+]</div>
          <div>Цена: <span class="shs-price" id="stuff_[+id+]_price">
      [+phx:if=`[+valuta+]`:isnot=`руб`:then=` 
                    [+valuta:is=`USD`:then=`
                          [+price:price_format:math=`?*[+currencyusd+]`:price_format+]
                               `:else=` 
                                   [+valuta:is=`EUR`:then=`
                                      [+price:price_format:math=`?*[+currencyeur+]`:price_format+]
                        `+]
                      `+]
                    `:else=`
                      [+valuta:is=`руб`:then=`
                           [+price:price_format+]
                           `:else=`
                               Звоните!
                          `+]
                    `+]
      
      </span>руб.<br />
      <!-- ([+valuta+] [+price:price_format+] [+currencyusd+] [+currencyeur+]) -->
      </div>
          <div class="shs-descr">
            [+introtext+]<br />
            <a href="[~[+id+]~]" class="shs-link">Подробнее </a>
          </div>
          <input type="hidden" name="shs-id" value="[+id+]" />
          <div align="center"><button class="shs-but">В корзину</button></div>
        </div>
      </div>


      shopToCart
      <div class="shs-tocart">
        <div class="shs-title" style="display:none;">[*pagetitle*]</div>
        <input type="hidden" name="shs-link" value="[~[*id*]~]" />
        <input type="hidden" name="shs-id" value="[*id*]" />
        <div align="right">
          Цена: <span class="shs-price" id="stuff_[*id*]_price">[*price:actCbr=`[*valuta*]`*]</span> руб.
          <button class="shs-but">В корзину</button>
        </div>
      </div>

      И сниппеты: actsCbr phx:actCbr это правленые под себя http://modxcms.com/forums/index.php?topic=21952.0;attach=6576 phx:price_format из справки по phx

      За-то цены актуальные каждый день и в рублях.

      Начиная с версии 0.9.4 этот способ не работает:
      http://modxcms.com/forums/index.php/topic,31961.msg280381.html#msg280381
        • 26564
        • 162 Posts
        Вероятно это частный случай, но у меня в корзину падали кракозябры вместо товара, победил добавлением в ajax-action.php
        header("Content-type: text/html; charset=UTF-8");
        Если прописывал язык в вызов сниппета кнопка "в корзину переставала работать".
        _____________________________________________________________________
        При повторном добавлении товара со странички с превью кол- всех товаров увеличивается на 1. Версия 8.8.3

        [tt]02:41:45 DEBUG - 2. cookie[’stuffAll’]: 38//0//3//16182.37 //0__40//0//3//4235.23 //0__37//0//2//24178.74 //0
        02:41:45 INFO - cookie length: 255
        02:41:45 INFO - cookie[’stuffAll’] length: 72
        02:56:52 INFO - 40 CDT-180 DECT трубка для CAV-72B 4235.23 0
        02:56:56 INFO - checkAddit() -> additFilter():
        02:56:56 INFO - checkAddit() -> additFilter():
        02:56:56 INFO - groupingGoods(): num = true [/tt]

        От этого такое может быть?
          • 1477
          • 515 Posts
          Quote from: security at Sep 06, 2009, 04:03 PM

          Можно добавить мультивалютность товара.
          Ок. Добавлю в план.
          Quote from: security at Sep 06, 2009, 05:53 PM

          Вероятно это частный случай, но у меня в корзину падали кракозябры вместо товара, победил добавлением в ajax-action.php
          header("Content-type: text/html; ; charset=UTF-8");

          Наверно сервер настроен на другую кодировку. Нужно в .htaccess прописать
          AddDefaultCharset UTF-8
          Это если сайт в UTF-8.
            Shopkeeper - сниппет и модуль для создания интернет-магазина.
            TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
            PickDocsInTree - плагин для выбора документов из дерева.
            Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
            • 26564
            • 162 Posts
            Quote from: Andchir at Sep 07, 2009, 03:16 AM

            Наверно сервер настроен на другую кодировку. Нужно в .htaccess прописать
            AddDefaultCharset UTF-8
            Это если сайт в UTF-8.
            Пробовал, тогда письма приходят в кракозябрах, хотя в майлере кодировку пропрописал. Это точно частный случай. wink

            А что со вторым вопросом про повторное добавление 1 единицы товара через кнопку "в корзину", кол-во всех товаров увеличивается на 1.
              • 1477
              • 515 Posts
              Quote from: security at Sep 07, 2009, 12:57 PM

              А что со вторым вопросом про повторное добавление 1 единицы товара через кнопку "в корзину", кол-во всех товаров увеличивается на 1.
              Это может быть связано именно с кодировкой. Если используются доп. параметры, надо смотреть их значения. Можете дать ссылку на сайт (в ЛС)?
                Shopkeeper - сниппет и модуль для создания интернет-магазина.
                TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
                PickDocsInTree - плагин для выбора документов из дерева.
                Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
                • 1477
                • 515 Posts
                Ищется человек, хорошо владеющий техническим английским, для перевода документации шопкипера. Если есть желающие, пишете здесь или в ЛС. Надеюсь на помощь.
                  Shopkeeper - сниппет и модуль для создания интернет-магазина.
                  TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
                  PickDocsInTree - плагин для выбора документов из дерева.
                  Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
                  • 1477
                  • 515 Posts
                  Выкладываю экстендер SHKwidget для Ditto. Работает как сниппет SHKwidget, но сделан специально для работы в связке с Ditto. При выводе списка товаров с доп.параметрами при помощи Ditto, очень рекомендуется использовать вместо сниппета SHKwidget этот экстендер. Значительно быстрее и без дополнительных запросов к БД. За идею спасибо SSDTyphon!
                  На странице товара (без Ditto) - использовать сниппет.

                  Загрузить файл SHKwidget.extender.inc.php в папку assets/snippets/ditto/extenders/.

                  Параметры (указываются при вызове Ditto):
                  &wtTVname - имя TV-параметр(ов)а, которы(е)й нужно обработать. Можно указать несколько через запятую.
                  &wtFormat - формат(ы) TV-параметр(ов)а на выходе. Возможные значения: `select`(по умолчанию),`radio`,`checkbox`;
                  &wtFirstSelected - первый элемент (например у radio-кнопок) выбран (`1`). По умолчанию `0`;
                  &wtWraptag - обернуть тегом. Например &wtWraptag=`div`. По умолчанию `0` (не оборачивать);
                  &wtFunction - JS-функция, вызываемая при нажатии на элемент. По умолчанию `jQuery.additOpt(this)`;

                  Пример использования:
                  [!Ditto? &tpl=`shopStuff`&extenders=`SHKwidget`&wtTVname=`param1,param2`&wtFormat=`select,checkbox`!]

                  Плейсхолдеры TV-параметров [+param1+] и [+param2+] будут переведены в выпадающий список (select) и чекбокс (checkbox). Если в параметре &wtFormat указать только `select`, оба параметра выведутся в виде вып.списков.
                    Shopkeeper - сниппет и модуль для создания интернет-магазина.
                    TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
                    PickDocsInTree - плагин для выбора документов из дерева.
                    Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
                    • 2458
                    • 27 Posts
                    после переезда на др. хостинг перестали отображаться виджеты!

                    вместо SHK Select видим : 2мл==38||6мл==75||12мл==132

                    Ахтунг, что делать-то?
                      • 2458
                      • 27 Posts
                      Забыл исправить пути...
                      Все работает.

                      Господа программисты, помогите!
                      Как сделать чтобы в зависимости от выбранного способа оплаты после нажатия на submit перенаправлялось на определенную страницу, а не на "Спасибо за заказ".

                      Т.е. если в способах оплаты клиент выбирает Яндекс-Деньги (WebMoney), на следующей странице нужно сообщить о реквизитах, либо установить форму оплаты (WebMoney)...
                      Не силен в программировании, ковыряюсь, вроде что-то получается, а вот тут затык. sad(