Павел Романов
С нами с 03 марта 2014; Место в рейтинге пользователей: #70Изменяем форму заказа minishop2
Как написать модуль оплаты для Minishop2
Привет всем :). Я не с первого раза разобрался как написать модуль оплаты для Minishop2. Поэтому решил сделать небольшую инструкцию. Не во всем правда разобрался, но надеюсь в комментариях подскажут.
Фильтрация по MIGX таблице средствами mFilter2
Делаю проект, где нужно хитро задавать цвет у товаров, решение Володи msOptionsColorв рамках проекта показалось громоздким и немного не подходящим по другим причинам, поэтому решено было оформить все в MIGX и написать свои методы фильтрации. Я такое делал впервые.
Получилось следующее:
Получилось следующее:
[Office] 1.7.0 - улучшение безопасности
Привет, друзья!
Вдохновение от недавней MODXpo еще не прошло, зато появились сообщения о целенаправленной атаке на сайты с установленным дополнение Office.
Суть в том, что какие-то нехорошие люди шлют запросы напрямую на ajax коннектор с указанием email по списку и спамерским сообщением в пароле. Так как Office по умолчанию отправляет пароль и люди видят этот спам от имени сайта.
Сообщения такие появились пару дней назад, и должен признать, это очень остроумный способ рассылки.
Вдохновение от недавней MODXpo еще не прошло, зато появились сообщения о целенаправленной атаке на сайты с установленным дополнение Office.
Суть в том, что какие-то нехорошие люди шлют запросы напрямую на ajax коннектор с указанием email по списку и спамерским сообщением в пароле. Так как Office по умолчанию отправляет пароль и люди видят этот спам от имени сайта.
Сообщения такие появились пару дней назад, и должен признать, это очень остроумный способ рассылки.
CDEK - плагин для выгрузки заказа и получения трек-номера
На волне публикаций Паши Зарубина (тыц, тыц, тыц) решил выложить прикладное решение, которое моему клиенту немножко автоматизирует жизнь и вполне себе нравится. Началось это с того, что в msCDEK не было выгрузки заказов в личный кабинет CDEK. А закончилось тем, что Паша написал свою ГдеПосылку, которая следит за передвижениями посылки по её ID в системе CDEK в том числе. Мой плагин выполняет две задачи:
1. При установке определенного статуса (названного нами «Выгрузка в CDEK») отправляет в CDEK xml-запрос в соответствии с их документацией, по которому в системе создается накладная
2. Принимает в ответ ID накладной и пишет его в поле track заказа.
Для работы в этом плагина нужны оба дополнения — msCDEK и msGdePosylka, поскольку плагин писан немножко на коленке и второпях и некоторые функции я дергал из компонента msCDEK. При наличии времени и желания вполне можно эти функции вынести в отдельный класс и обойтись без msCDEK.
1. При установке определенного статуса (названного нами «Выгрузка в CDEK») отправляет в CDEK xml-запрос в соответствии с их документацией, по которому в системе создается накладная
2. Принимает в ответ ID накладной и пишет его в поле track заказа.
Для работы в этом плагина нужны оба дополнения — msCDEK и msGdePosylka, поскольку плагин писан немножко на коленке и второпях и некоторые функции я дергал из компонента msCDEK. При наличии времени и желания вполне можно эти функции вынести в отдельный класс и обойтись без msCDEK.
[onlineKassa] 54-ФЗ, 1 июля и другие страшилки
Как многим известно, сегодня вступают в силу изменения ФЗ-54 «О применении контрольно-кассовой техники», в соответствии с которым практически все юридические лица обязаны пробивать кассовые чеки в момент расчета.
Небольшое отступление:
Эта участь не обошла стороной и интернет-магазины. В Законе расплывчато говорится о времени, которое может пройти с момента расчета до момента пробития чека, но это однозначно должно быть какое-то малое разумное время. Таким образом, если покупка в ИМ осуществляется ночью, то и чек должен быть ночью, но никак не утром, когда проснется и придет на работу продавец/оператор.
Небольшое отступление:
Эта участь не обошла стороной и интернет-магазины. В Законе расплывчато говорится о времени, которое может пройти с момента расчета до момента пробития чека, но это однозначно должно быть какое-то малое разумное время. Таким образом, если покупка в ИМ осуществляется ночью, то и чек должен быть ночью, но никак не утром, когда проснется и придет на работу продавец/оператор.
Удаление старых версий пакетов
Многие пользователи знают, что MODX хранит кучу старых версий дополнений, чтобы вы могли откатиться на них в любое время.
Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.
Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.
Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.
Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.
Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Параметр &where
Всем привет!
Похоже предыдущий вопрос был плохо сформулирован, ответов нет. Попробую проще:
Есть вызов ms2gallery
Ссылка на пример синтаксиса, в котором можно писать чистое SQL условие
Пытаюсь добавить для теста такое условие: &where=`[«File.add = 65»]`
Но при любом содержании перед моим условием появляется 0= и все условия не работают.
0.0006981: Added where condition: File.parent=0, File.active=1, 0=File.add = 65, modResource.id:IN(65)
С синтаксисом, в котором используются фигурные скобки пока не получается поставить такие же условия выборки.
Похоже предыдущий вопрос был плохо сформулирован, ответов нет. Попробую проще:
Есть вызов ms2gallery
[[!ms2gallery?
&tpl=`tpl.tabs_photo`
&limit=`0`
&resources=`[[*parent]]`
&showLog=`1`
]]
Есть SQL запрос, который полностью удовлетворяет моим условиям:SELECT * FROM `ms2_resource_files` WHERE (`add` NOT LIKE '%65%' AND `add` NOT LIKE '') OR `add` IS NULL
Как добавить параметр where, чтобы получить тот же результат?Ссылка на пример синтаксиса, в котором можно писать чистое SQL условие
Пытаюсь добавить для теста такое условие: &where=`[«File.add = 65»]`
Но при любом содержании перед моим условием появляется 0= и все условия не работают.
0.0006981: Added where condition: File.parent=0, File.active=1, 0=File.add = 65, modResource.id:IN(65)
С синтаксисом, в котором используются фигурные скобки пока не получается поставить такие же условия выборки.
После обновления modx до 2.5.4 и появл. ошибка
Код: 200 OK
{«success»:false,«message»:"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d!",«total»:0,«data»:[],«object»:[]}
Ошибка выскакивает только под акаунтами менеджеров, выскакивает при добавление, удалении и т.д… под суперадмином все ок, все компоненты свежих версий.
До обновления все довлялось без ошибок… так на обоих сайтах
{«success»:false,«message»:"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d!",«total»:0,«data»:[],«object»:[]}
Ошибка выскакивает только под акаунтами менеджеров, выскакивает при добавление, удалении и т.д… под суперадмином все ок, все компоненты свежих версий.
До обновления все довлялось без ошибок… так на обоих сайтах
Модификатор resource в pdoTools
Всем привет, сегодня столкнулся с таким моментом в pdoTools при использовании синтаксиса fenom —
есть товар с id = 10
вывожу его поля на нужной странице так
На входе есть только id товара.
есть товар с id = 10
вывожу его поля на нужной странице так
{10|resource:"pagetitle"} - всё отлично работает
Пробую вывести любое поле типа цена, опция, остаток, вес
{10|resource:"price"} - так не работает
Вывожу в принт
{10|resource|print} - показывает, что все эти поля есть в массиве.
Вопрос — как вывести хотя бы цену товара через подобные модификаторы?На входе есть только id товара.