Олег Щавелев

Олег Щавелев

С нами с 20 января 2017; Место в рейтинге пользователей: #31

[Решено] msProducts вызов массива msVendor в prepareSnippet

Друзья активно начался параметром prepare сниппета msProduct.

Подскажите пожалуйста как вызвать в prepare массив данных msVendor к примеру название бренда или ресурс.

Заранее спасибо.
Олег Щавелев
13 января 2020, 16:17
modx.pro
93
0

toPlaceholder как перевести строчку в массив Fenom

Использую в сниппете параметр toPlaceholder. Кладу данные в переменную
$_modx->getPlaceholder('Название плейсхолдера')
но тип данный STRING, а мне нужно Array какие способы есть в Fenom что бы изменить тип данных на массив или в MODX. Возможно нужно поменять метод вызова данных, но не могу найти нужной информации.

Проверяю тип данных я вот так

{$_modx->getPlaceholder('Название плейсхолдера') | var_dump}
Олег Щавелев
22 декабря 2019, 21:44
modx.pro
167
0

Обратная линия: Обновление компонентов MODX Revolution 3.0.0-alpha1



Здравствуйте, Коллеги.

Недавно вышел пост от @Иван Бочкарев «MODX Revolution 3.0.0-alpha1 (Перевод)» и в одном из диалогов сформулированно желание о создании документа со списком пакетов работающий на CMS MODX Revolution 3.0.0-alpha1

Ссылка на документ в формате Google Sheets — Package compatibility MODX Revolution 3.0.0-alpha1

Решил проявить инциативу, понимая какая сейчас загруженность у активных участников сообщества MODX REVO

Олег Щавелев
18 декабря 2019, 06:28
modx.pro
5
919
+18

Поле стоимость доставки значение "Бесплатно" и "Индвидуальный рассчет"

Появилась еще одна задача с которой я хочу с Вами поделиться.

Две задачи:

1. Не нравиться значение доставки 0 руб хочется заменить на Бесплатно
2. Через настойки MS2 адмистратору сайта устанавливать значение стоимости доставки «Индивидуальный рассчет.

Для того что бы это реализовать нам нужно выполнить все действия расписанные в статье Стоимость доставки отдельной строкой в оформление заказа MS2

Олег Щавелев
08 декабря 2019, 23:51
modx.pro
3
214
+10

Как добавить поле в настройках MS2 вкладка "Доставка" при добавлении пункта доставки

Внимание! При реконструкции полей используется метод
Ext.override, это не идеально так как он перезаписывает весь массив, а не добавляет массив необходимые данные. При обновление набора полей MS2 массив данных не изменится. Внизу @Pavel Zarubin предложил альтернативное решение с которым я полностью согласен но не знал до написании статьи. Скоро обновление.

Ну вот! теперь не хватает поля в пунктах доставках, но так как я изучил принцип добавление полей в MS2 все очень просто.

Делаем по аналогии со статьей Добавить поле в опции MS вкладка «Производитель товара» msVendor . Многие активно пользуются поиском поэтому каждому отдельному случаю посвещаю отдельную статью. Плюсом пригодиться для референса в новых статьях.

Олег Щавелев
08 декабря 2019, 23:18
modx.pro
2
198
+9

Бесплатная доставка по критерию производителя.

Всем привет.
У меня появилась задачка, суть в следующем, некоторые вендоры спонсируют бесплатную доставку, а не которые нет. Поэтому кретерий бесплатная доставка или платная является производитель. Как это сделать в МS2?

1) Первый шаг. Это сделать дополнительное поле в настройках. Я уже описывал как это сделать в отдельной статье "Добавить поле в опции MS вкладка «Производитель товара» msVendor"

Олег Щавелев
07 декабря 2019, 16:23
modx.pro
4
214
+13

Стоимость доставки отдельной строкой в оформление заказа MS2

На заметку.

Делаем колбеки miniShop2 для всех

Хочу сразу отметить, что решение уже есть в просторах сообщества MS, хочется расставить акценты и более краткой форме поделиться с решением данной проблемы.

Итак, приступим.

Сначала расширим класс msOrderHandler назовем его customOrderInterface

Олег Щавелев
02 декабря 2019, 03:01
modx.pro
11
406
+15

Плюс и минус в каунте корзины MS2

Досточно простой вопрос, который мучает начинающих разработчиков. Решил поделиться решением, как сделать кнопки плюс и минус в корзине MS2. Что бы все было «по-фуншую»

Начнем c разметки. Я показываю на страндартной теме MS2. Вносим правки в чанк tpl.msCart

...
<td class="count">
<form method="post" class="ms2_form" role="form">
  <input type="hidden" name="key" value="{$product.key}"/>
  <div class="form-group">
    <div class="input-group input-group-sm qty">
      <span class="input-group-prepend">
      <span class="input-group-text minus input_count_action">-</span>
      </span>
      <input type="number" name="count" value="{$product.count}" class="form-control"/>
      <span class="input-group-append">
      <span class="input-group-text plus input_count_action">+</span>
      <span class="input-group-text">{'ms2_frontend_count_unit' | lexicon}</span>
      </span>
    </div>
      <button class="btn btn-sm" type="submit" name="ms2_action" value="cart/change">
      ↻</button>
  </div>
</form>
</td>
...
Олег Щавелев
02 декабря 2019, 02:08
modx.pro
8
351
+8

Как добавить JS скрипт ниже скрипта MS2 default.js

Подскажите пожалуйста.

Мне нужно вставить свой скрипт ниже script type=«text/javascript» src="/assets/components/minishop2/js/web/default.js?v=d62e73368c">

Как это сделать.
Олег Щавелев
26 ноября 2019, 11:46
modx.pro
1
119
0

Как добавить поле в MS2 опции msoption

Итак после не удачного опыта во вкладке «Производитель товаров» решил попробовать разобраться во вкладке «Опции» и как говориться первый блин комом.

1. Добавим плагин для того что бы подключить наш файлик ExtJS (у меня их много поэтому я предлагаю такую схему.

<?php
switch ($modx->event->name) {
    case 'msOnManagerCustomCssJs':
        switch ($page) {
            case 'orders':
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2.js');
            break;
            case 'settings':
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2vendor.js');
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addms2option.js');
            break;
        }
        break;
}
Далее создадим данную дирректорию и наследуем нашу форму
Олег Щавелев
21 ноября 2019, 06:06
modx.pro
9
387
+12