
R2m0x94 (Vasily)
С нами с 07 мая 2018; Место в рейтинге пользователей: #313Как упростить условие на Fenom
У меня есть такое условие:
Как упростить условия — показать родителя и всех его потомков без явного указания дочерних ID?
$id == '15' OR $id == '31' OR $id == '32' OR $id == '33' OR $id == '34'
PS. ID родителя постоянен и от него можно отталкиваться.
{if $id == '15' OR $id == '31' OR $id == '32' OR $id == '33' OR $id == '34'}
выводится код
{/if}
15 это ID родителя, все остальные ID (31,32,33,34) это дочки этого родителя.Как упростить условия — показать родителя и всех его потомков без явного указания дочерних ID?
$id == '15' OR $id == '31' OR $id == '32' OR $id == '33' OR $id == '34'
PS. ID родителя постоянен и от него можно отталкиваться.
Подготавливаем ЛК для "ГдеПосылка"

Это продолжение статей по работе с заказами MS2, в последней статье я обещал, что расскажу как интегрировать сервис «ГдеПосылка» в Minishop2, а пока я жду пока очухается администрация «ГдеПосылка» чтобы дать мне доступ к API подготовим почву для интеграции, что мы будем делать:
- Добавим новое поле в заказы minishop2
- Сделаем вывод для пользователей их историю заказов без extJS и каких либо дополнений, на чистом pdoTools
- Научимся делать leftJoin и select на pdoTools и pdoFetch
- Бонусом идут сразу готовые стили для всего этого добра и написанный JS
За объяснением кода — под кат, за кодом на GitHub
Оформление заказа через админку miniShop2
Приветствую всех! На одном из проектов нужно реализовать добавление заказа через панель администратора miniShop2. Есть ли у кого-то готовые решения или может направите куда покопать, чтобы добавить кнопку добавления заказа? Я примерно представляю себе, что ее можно реализовать переработав updateOrder и написав процессор, но первые попытки не увенчались успехом. Всем спасибо за внимание, буду крайне признателен за ценные ответы!
AjaxForm в модальном Ajax окне
Приветствую!
Мой «101» вопрос про ajaxform )
Задача: выводить форму в модальном окне, контент которого загружается ajax'ом.
Что смог сделать на данном этапе благодаря документации и инструкциям с этого ресурса:
1. Если форма просто в теле документа, то работает всё ок. Окно «своё», т.е. не bootstrap
Мой «101» вопрос про ajaxform )
Задача: выводить форму в модальном окне, контент которого загружается ajax'ом.
Что смог сделать на данном этапе благодаря документации и инструкциям с этого ресурса:
1. Если форма просто в теле документа, то работает всё ок. Окно «своё», т.е. не bootstrap
[РЕШЕНО] Простое наличие товара (остаток)
Добрый день!
Подскажите пожалуйста, может кто знает простое решение. Есть товар в единственном экземпляре и есть его наличие. Наличие сделано через плагин. Выводится вот так:
Подскажите пожалуйста, может кто знает простое решение. Есть товар в единственном экземпляре и есть его наличие. Наличие сделано через плагин. Выводится вот так:
[[+availability:is=`1`:then=`<button class="uk-button uk-button-primary" type="submit" name="ms2_action" value="cart/add"><i class="uk-icon-barcode"></i> [[%ms2_frontend_add_to_cart]]</button>`:else=`<button class="uk-button uk-button-primary uk-hidden" type="submit" name="ms2_action" value="cart/add"><i class="uk-icon-barcode"></i> [[%ms2_frontend_add_to_cart]]</button>`]]
Критическая уязвимость в MODX Revolution
Сильно в детали лезть не буду, просто скажу, что сейчас любой MODX Revo сайт потенциально уязвим. Дыра позволяет выполнить SQL-инъекции, в том числе с созданием на сайте привилегированных пользователей.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Можно ли из плагина вызвать уведомление?
Добрый вечер, всем, кто нибудь подскажите —
сделал плагин на минимальную стоимость заказа — но как об этом уведомить на клиентской стороне покупателя, можно ли прям из плагина послать сообщение во всплывашку, идущую вместе с miniShop2?
Может метод есть какой-то? или надо в js лезть?
Код плагина
сделал плагин на минимальную стоимость заказа — но как об этом уведомить на клиентской стороне покупателя, можно ли прям из плагина послать сообщение во всплывашку, идущую вместе с miniShop2?
Может метод есть какой-то? или надо в js лезть?
Код плагина
if ($modx->event->name == 'msOnSubmitOrder'){
if($cart = $order->ms2->cart->status()) {
if($cart['total_cost'] < 1500) {
$modx->event->output('Сумма вашего заказа должна превышать 1500 руб!');
}
}
}
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
создание программно товара miniShop2
Добрый день!
Подскажите как создать программно товар. В принципе товар я создаю через стандартный modx процессор
Подскажите как создать программно товар. В принципе товар я создаю через стандартный modx процессор
$response = $modx->runProcessor('resource/create', array(
'class_key' => 'msProduct',
'pagetitle' => 'Товар',
'parent' => 55,
'template' => 11,
'show_in_tree' => 1,
//Данные
'price' => 100,
));
if($response->isError()){
echo 'Ошибка';
}else{
echo 'Создал';
}
Каким образом добавить (указать в процессоре) один цвет и ОДНО изображение? Возможно ли через modx процессор (возможно надо использовать miniShop-ий процессор) создать товар с этими заполненными данными. Подскажите...) [Решено] Дополнительные поля в Tickets
Всем привет! Создаю форму добавления объявлений, добавил новые TV поля таким образом:
UPD: Всё оказалось намного проще. Выводим TicketForm с параметрами:
<input type="text" name="tv_price" value="0" />
где tv_price название tv параметра, но при сохранении сохраняет только значение value по умолчанию, тоесть 0. Не могу разобраться, как прописать name правильно tv.price или tvprice?UPD: Всё оказалось намного проще. Выводим TicketForm с параметрами:
[[!TicketForm?
&requiredFields=`parent,pagetitle,content,bprice,bcountry,bregion,bcity`
&allowedFields=`parent,pagetitle,content,published,bprice,bcountry,bregion,bcity`
&parents=`322,335,338,345,351,352,353,354,355,356,357,358,361,365,369,373`
]]
а в чанке который выводит форму прописываем TV-параметры в name без префиксов tv., tv_ а как есть:<input type="text" name="bprice" value="0">