Павел Романов
С нами с 03 марта 2014; Место в рейтинге пользователей: #70Как написать модуль оплаты для 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 товара.
Автоматически разбивать sitemap.xml на файлы
Всем привет!
У меня сайте сейчас 15000 страниц, sitemap.xml формирую через pdoSitemap. Но сервер не позволяет вывести такое количество ссылок сразу, менять сервер на более мощный пока тоже не хочу.
Может есть решение автоматического разбиения sitemap.xml в формате www.sitemaps.org/ru/protocol.html#index на определенное задаваемое количество выводимых ссылок в каждом файле?
У меня сайте сейчас 15000 страниц, sitemap.xml формирую через pdoSitemap. Но сервер не позволяет вывести такое количество ссылок сразу, менять сервер на более мощный пока тоже не хочу.
Может есть решение автоматического разбиения sitemap.xml в формате www.sitemaps.org/ru/protocol.html#index на определенное задаваемое количество выводимых ссылок в каждом файле?