Вышла новая сборка магазина ShopModxBox-2.3.0. Главная фишка — возможность указывать цены товаров в различных валютах. Это особенно актуально с учетом динамики курсов рубля. Сразу уточню, что это не является полноценным мультивалютным решением (магазин по прежнему будет работать в рублях), но зато цена всегда будет относительно курса валют. Больше подробностей на хабре. Там же написано и как настроить автоматическое регулярное обновление курсов валют. Вообще был проведен довольно обширный рефакторинг кода, изменений много, и коснулись они и пакета modxSite, но в целом все на уровне файлов, особо логика не менялась, так что если кто-то думает обновить уже имеющийся магазин на ShopModxBox, и если скин сайта был нормально скопирован перед редактированием, и в имеющиеся getdata-процессоры особо не лезли, то можно попробовать просто затянуть изменения с гита просто командой git pull (само собой на копии сайта экспериментируем, и про бэкапы не забываем). Единственное что вам дополнительно понадобится сделать в самой админке — это создать TV-поле currency_rate (в которое будет писаться актуальный курс валюты по отношению к рублю), создать системную настройку shopmodx.exchange_rate_tv и указать в нее id этого TV-поля, создать шаблон Валюта (и привязать к нему это TV-поле, а так же указать этот шаблон документам-валютам), и вроде как все.
курс почему-то не обновляется, если просто набрать domain.ru/assets/components/modxsite/connectors/connector.php?pub_action=currencies/update_courses получаю строку {"success":false,"message":"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043b\u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e","total":0,"data":[],"object":[]} что означает Действие не существует или не может быть выполнено и в логе modx тоже [2015-01-05 14:30:45] (ERROR @ /assets/components/modxsite/connectors/connector.php) modWebPublicActionProcessor - Действие не существует или не может быть выполнено [2015-01-05 14:30:45] (ERROR @ /assets/components/modxsite/connectors/connector.php) Array ( [pub_action] => currencies/update_courses ) что где мог забыть?
поставил на другой домен чистый модх 2.3.2 и shopmodxbox 2.4.0, там курсы обновляются. буду дальше копать
Видимо у вас просто не актуальная версия ShopModxBox была, этого процессора там не было.
Это уже просто шаблончики подправьте.
Так у вас там все работает. Только не забывайте товарам указывать валюту, отличную от рубля joxi.ru/eAOqaVNf6y96mo И пароль для админа измените. Не секурно даже для тестового сайта.
Добрый день, Николай. Установил этот апдейт себе в магазин, валюты обвновляются все нормально. А вот постраничность перестала отображаться, я так понял дело тут в функциях prepareResponse и outputArray. Они были перемещены из site/web/resources/getdata.class.php в site/web/getlist.class.php. Как только возвращаю их в процессор getdata — постраничность появляется а вот цена показывается не везде, делаю как у Вас в getlist — постраничность пропадает зато с ценой все нормально. Помогите разобраться!
site/web/resources/getdata.class.php расширяет site/web/getlist.class.php, так что если говорить конкретно о перемещаемых кусках кода из расширяющего процессора в расширяемый, то никаких проблем с этим не должно возникать. Скорее всего там еще другой код изменен. Изменилось две вещи:
Шаблон pagination.tpl добавил себе, постраничность не появилось. Я так понял там и другие шаблоны поменялись и причина кривой работы постраничности именно в них. Не помню какая версия у меня движка стоит, самое главное что цены нормально работают — валюты обновляются цены везде показываются. У вас есть список шаблонов, которые были обновлены, чтоб не тыкаться? Апдейт делал путем внесения изменения в файлы которые у перечислены в статье на гитхабе…
Никакие другие шаблоны не могут быть здесь причастны. Вы вставляли как есть мой код? У вас точно больше записей на выход чем limit? Точно результат выполнения процессора набивается в переменную $result?
Да куда угодно вставляйте. Это для теста. Будет выполнена выборка всех доступных документов (у вас их наверняка больше пяти). Если в этом случае не заработает пагинация, тогда будет глубже разбираться.
Я так понимаю надо написать {include file=«common/pagination/pagination.tpl»} вместо {include «common/pagination/pagination.tpl»}
Не важно. Можно и так и так. Такие вещи спрашивать не обязательно, можно поэкспериментировать. Смарти очень жесткая, и если что-то не так, получите фатальную ошибку.
так сделал тестовый шаблон с этой записью — выводит постраничность без самих ресурсов это надо думать связано с тем что я не указал шаблон вывода ресурсов
это надо думать связано с тем что я не указал шаблон вывода ресурсов Таки да. Вы спрашивали про постраничность. Я подсказал как ее делать. А далее уже смотрите сами что и как делать и где у вас что не так. Скорее всего у вас или результат процессора не а $result набивается, или шаблон пагинатора не там инклюдите. Рабочий код есть вам для примера, разбирайтесь.
Пожалуйста!