• [Snippet] & [Module] Shopkeeper (корзина и управление заказами)#

  • Andchir Reply #1, 3 years, 4 months ago

    Reply
    Сниппет и модуль Shopkeeper.
    Обновлено 14.04.2011 Последняя стабильная версия 1.2.2
    Скачать
    Вопросы просьба писать на новый форум поддержки, т.к. тут получается свалка.
    Описание сниппета: Сниппет выводит корзину заказов двух типов (расширенный и простой). Письмо с заказом можно отправлять на почту и в модуль Shopkeeper (рекомендуется). Товарам можно задавать дополнительные параметры, которые пользователь сможет выбрать. Для создания формы заказа нужно использовать сниппет eForm.

    Примеры вызова:
    [!Shopkeeper? &orderFormPage=`10`&gotoid=`11`!]

    [!Shopkeeper? &cartType=`small`&orderFormPage=`10`&gotoid=`11`&changePrice=`1`&counterField=`1`&flyToCart=`nofly`!]

    Посмотреть его работу можно на демонстрационной страничке.

    Функции модуля:
      [list]
    • Редактирование и удаление поступивших заказов.
    • Возможность установить заказу статус (новый, в процессе выполнения, отправлен, выполнен, возникли проблемы).
    • Возможность писать заметки к каждому заказу.
    • Сортировка заказов.
    [/list]

    Для того чтобы заказы отправлялись в модуль, в вызов сниппета eForm добавить параметр &eFormOnMailSent=`sendOrderToManager`.

    Пример вызова eForm:

    [!eForm? &formid=`shopOrderForm`&tpl=`shopOrderForm`&report=`shopOrderReport`&vericode=`1`&ccsender=`1`&gotoid=`11`&subject=`Новый заказ`&eFormOnBeforeMailSent=`populateOrderData`&eFormOnMailSent=`sendOrderToManager`!]



    Сниппет SHKwidget служит для создания виджетов (выпадающий список, радиокнопка, чекбокс) параметров товаров в интернет-магазине (без "хака" системы). Использовать только на странице товара. При выводе списка товаров c помощью Ditto - использовать экстендер SHKwidget.

    Пример вызова: [[SHKwidget? &docid=`[*id*]`&format=`select`&tvname=`param1`]]



    F.A.Q.

    paramEdit - плагин для более удобного добавления и редактирования данных дополнительных параметров для товаров в интернет-магазине.



    Что нового
    0.9 0.9.1 0.9.2RC1 0.9.2RC2 0.9.3beta1 0.9.3beta2


  • Bredova Reply #2, 2 years, 10 months ago

    Reply
    Во-первых, спасибо ОГРОМНОЕ Andchir за разработку. Я новичок, и в программировании не сильна, а Shopkeeper сильно облегчит мою задачу
    А во-вторых, вопрос к создателю....а насколько большой (по количеству товаров) возможно сделать магазин? 1500-2000 позиций возможно?


  • Andchir Reply #3, 2 years, 10 months ago

    Reply
    Quote from: Bredova at Jun 26, 2009, 11:04 AM
    а на сколько большой (по количеству товаров) возможно сделать магазин? 1500-2000 позиций возможно?
    2000 думаю можно делать без опаски. А вообще больше 1000 товаров мне пока не доводилось делать магазин, но есть мнение, что на 3000 (а по данным создателей MODx 5000) страниц система начинает очень тормозить. Вот тут совсем недавно обсуждалась эта тема. Shopkeeper рассчитан на создание отдельного документа для каждого товара, т.к. изначально создавался для небольшого магазина.
    Но! Похоже, что в новой версии MODx (Evolution) эта проблема исправлена. Сейчас доступна RC1, думаю вполне уже можно использовать, потом только проапдейтить нужно будет. В любом случае вот тут есть патч, который решает эту проблему и 5000 товаров (документов) уже не предел.
    Кстати недавно читал, что даже очень известный движек магазина PhpShop имеет ограничение в 5000 товаров. Хотя там вообще много чего сделано через одно место).


  • Bredova Reply #4, 2 years, 10 months ago

    Reply
    Quote from: Andchir at Jun 26, 2009, 11:29 AM
    Quote from: Bredova at Jun 26, 2009, 11:04 AM
    а на сколько большой (по количеству товаров) возможно сделать магазин? 1500-2000 позиций возможно?
    2000 думаю можно делать без опаски. А вообще больше 1000 товаров мне пока не доводилось делать магазин, но есть мнение, что на 3000 (а по данным создателей MODx 5000) страниц система начинает очень тормозить. Вот тут совсем недавно обсуждалась эта тема. Shopkeeper рассчитан на создание отдельного документа для каждого товара, т.к. изначально создавался для небольшого магазина.
    Но! Похоже, что в новой версии MODx (Evolution) эта проблема исправлена. Сейчас доступна RC1, думаю вполне уже можно использовать, потом только проапдейтить нужно будет. В любом случае вот тут есть патч, который решает эту проблему и 5000 товаров (документов) уже не предел.
    Кстати недавно читал, что даже очень известный движек магазина PhpShop имеет ограничение в 5000 товаров. Хотя там вообще много чего сделано через одно место).

    Попыталась быстро освоить joomla...и долго плевалась...жутко все неудобно, а магазин делать нужно.... И очень обрадовалась увидев вашу разработку. В любом случае, спасибо за наводки, надеюсь, теперь у меня все получится


  • antey Reply #5, 2 years, 10 months ago

    Reply
    5000 озвучена из-за тормозов в дереве админки. Скрипт, осуществляющий построение дерева документов оказался тормозной. Спасает использование вложений папок.

    В новой версии обещали, что это исправлено.


  • mk99 Reply #6, 2 years, 10 months ago

    Reply
    реально исправлено
    даже в 0.9.6.3 можно заменить один файл и админка будет работать в несколько раз быстрее
    нужно взять файл
    manager/processors/cache_sync.class.processor.php
    из 1.0.0 и поместить его в то же место в 0.9.6.3 если нет желания апгрейдить полностью уже установленный сайт
    или ставить 1.0.0 - админка теперь наконец-то работает так же быстро как и в лучших коммерческих движках


  • igor_belousov Reply #7, 2 years, 10 months ago

    Reply
    Quote from: Andchir at Jun 15, 2009, 01:33 PM
    Quote from: kest at Jun 15, 2009, 01:22 PM
    Возникла другая проблема - Fatal error: Call to undefined function populateOrderData() in /hsphere/local/home/untwist-12373/mac.macgarden.ru/assets/snippets/eform/eform.inc.php on line 377
    Загрузил через фтп в двоичном режиме, но все равно не помогает. Кто сталкивался, что может быть, как решить?
    В документации под заголовком "Важно!" 2-м пунктом написано:
    На странице формирования заказа сниппет Shopkeeper должен вызыватьсяя раньше eForm.
    Это условие выполняется? Также обратите внимание на 5-й пункт, может пригодится

    У меня на сервере с апачем тоже самое. Вызов Shopkeeper стоит раньше eForm. Но все равно ошибка.
    На другом сервере все ок.
    Что можно сделать?

    За корзинку огромное спасибо!!!!!!!


  • Andchir Reply #8, 2 years, 10 months ago

    Reply
    Quote from: igor_belousov at Jun 28, 2009, 08:24 AM
    Quote from: kest at Jun 15, 2009, 01:22 PM
    Возникла другая проблема - Fatal error: Call to undefined function populateOrderData() in /hsphere/local/home/untwist-12373/mac.macgarden.ru/assets/snippets/eform/eform.inc.php on line 377
    Загрузил через фтп в двоичном режиме, но все равно не помогает. Кто сталкивался, что может быть, как решить?
    У меня на сервере с апачем тоже самое. Вызов Shopkeeper стоит раньше eForm. Но все равно ошибка.
    На другом сервере все ок.
    Что можно сделать?
    Ошибка точно такая же как у kest`a или другая? Там проблема точно из-за того, что eForm вызывается раньше Shopkeeper`a. Это по-моему очень не удобно когда состав заказа стоит ниже формы, но почему-то до сих пор kest это у себя не поправил.


  • igor_belousov Reply #9, 2 years, 10 months ago

    Reply
    Переписал вызов EForm и заработало. Но после перехода на страницу "спасибо за заказ" корзина не обнляется.


  • zluk Reply #10, 2 years, 10 months ago

    Reply
    to Andchir

    Предлагаю заменить в модуле корзины плагин tablesorter на datatables http://www.datatables.net/ Как я сделал в своем проекте, прежний функционал сохраняется + появляется разбиение на страницы и поиск по таблице.