Игорь Терентьев
С нами с 29 ноября 2013; Место в рейтинге пользователей: #83[Расширяем miniShop2] Быстрая смена статуса заказа через контекстное меню
Заказчика запарило для смены статуса лазать в полное редактирование заказа, попросил сделать что-то быстрое и простое. На скриншоте выше конечный результат. Чтобы получить такой же, файлы из этого репозитория закиньте себе в папку /assets/ и создайте плагин, который описан в конце статьи. Однако, я настоятельно рекомендую почитать статью, чтобы понимать принцип расширения всего этого дела.
Модуль оплаты для сервиса Яндекс.Касса по новому протоколу
Всем привет!
Возникла необходимость написать собственный модуль оплаты по Яндекс.Кассе, набросал за пару дней — делюсь.
Возникла необходимость написать собственный модуль оплаты по Яндекс.Кассе, набросал за пару дней — делюсь.
Шпаргалка на все случаи жизни
Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
Как добавить поле в настройках MS2 вкладка "Доставка" при добавлении пункта доставки
Внимание! При реконструкции полей используется метод
Ext.override, это не идеально так как он перезаписывает весь массив, а не добавляет массив необходимые данные. При обновление набора полей MS2 массив данных не изменится. Внизу @Pavel Zarubin предложил альтернативное решение с которым я полностью согласен но не знал до написании статьи. Скоро обновление.
Ну вот! теперь не хватает поля в пунктах доставках, но так как я изучил принцип добавление полей в MS2 все очень просто.
Делаем по аналогии со статьей Добавить поле в опции MS вкладка «Производитель товара» msVendor . Многие активно пользуются поиском поэтому каждому отдельному случаю посвещаю отдельную статью. Плюсом пригодиться для референса в новых статьях.
Ext.override, это не идеально так как он перезаписывает весь массив, а не добавляет массив необходимые данные. При обновление набора полей MS2 массив данных не изменится. Внизу @Pavel Zarubin предложил альтернативное решение с которым я полностью согласен но не знал до написании статьи. Скоро обновление.
Ну вот! теперь не хватает поля в пунктах доставках, но так как я изучил принцип добавление полей в MS2 все очень просто.
Делаем по аналогии со статьей Добавить поле в опции MS вкладка «Производитель товара» msVendor . Многие активно пользуются поиском поэтому каждому отдельному случаю посвещаю отдельную статью. Плюсом пригодиться для референса в новых статьях.
Создание CMP для вывода в админку с помощью MIGX
Итак, в прошлой статье я рассказал, как можно создавать свой компонент с помощью MIGX. Теперь я покажу, как можно создавать и редактировать данные в админке.
Кто не знает о чем речь, ссылка на первую статью.
Кто не знает о чем речь, ссылка на первую статью.
Создание таблиц через MIGX
У новичков часто возникает вопрос, как можно быстро создать какую нибудь таблицу и начать с ней работать на пример из сниппета. Я раньше делал всегда через пакет Василия modExtra, выпиливая из него то, что мне не нужно. Но это долго и не совсем удобно, если нужна одна — две таблички. MIGX решает эту проблему.
Localizator - поддержка TV параметров
1. Изменены окна редактирования локализаций, добавлена возможность редактирования TV-параметров
Для вывода на редактирование определенных TV-параметров добавлена настройка локализатора localizator_tv_fields
2. Сделан сниппет Localizator
Для этого нужно изменить настройку pdoFetch.class на pdotools.pdofetchlocalizator
Компонент по прежнему бесплатный и доступен на modstore.pro
Исходники на https://github.com/but1head/localizator
Отправить спасибо можете на Яндекс-кошелек 410015133943061
Для вывода на редактирование определенных TV-параметров добавлена настройка локализатора localizator_tv_fields
2. Сделан сниппет Localizator
{'Localizator' | snippet : [
'snippet' => 'pdoMenu',
'includeTVs' => 'img',
'processTVs' => 'img',
'parents' => 0,
'level' => 1,
]}
TV-параметры будут заменяться на параметры из локализации.Для этого нужно изменить настройку pdoFetch.class на pdotools.pdofetchlocalizator
Компонент по прежнему бесплатный и доступен на modstore.pro
Исходники на https://github.com/but1head/localizator
Отправить спасибо можете на Яндекс-кошелек 410015133943061
[MIGX] - Большой и страшный. Multiple Formtabs. Как сделать слайдер с разными типами слайдов.
Привет сообществу!
В данной заметке вы узнаете, что такое Multiple Formtabs и как создать конфигурацию с разным набором данных. Ну и конечно же создадим с вами слайдер у которого будут разные типы слайдов, а в конце вас ждёт очень интересная история которую я долго не решался кому либо рассказать (если конечно вам интересно, но история интересная — поверьте). И так, примеры слайдов:
В данной заметке вы узнаете, что такое Multiple Formtabs и как создать конфигурацию с разным набором данных. Ну и конечно же создадим с вами слайдер у которого будут разные типы слайдов, а в конце вас ждёт очень интересная история которую я долго не решался кому либо рассказать (если конечно вам интересно, но история интересная — поверьте). И так, примеры слайдов:
- Изображение на фоне
- Видео на фоне
- Сплошной цвет на фоне
Localizator + mSearch2. Шерше ля фам или поиск по-французски
На днях в разделе работы появилось объявление о скрещивании Localizator и mSearch2. Заинтересовало оно меня тем, что по итогу работы необходимо написать статью и опубликовать здесь. А вы знаете, как я люблю писать статьи, правда? Заказ оформил Hiddenski, за что давайте вместе его поблагодарим! :)
Первый раз пишу статью по заказу, посмотрим, что из этого получится.
Вывод сниппета из чанка другого сниппета через Ajax
Всем привет!
Подскажите, пожалуйста, мб кто-то сталкивался или просто знает решение: есть такой сниппет, который при клике на определенный элемент выводит pdoResources с заданными параметрами
Подскажите, пожалуйста, мб кто-то сталкивался или просто знает решение: есть такой сниппет, который при клике на определенный элемент выводит pdoResources с заданными параметрами
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}
$action = filter_input(INPUT_POST,'action');
if (empty($action)) {return;}
$res = '';
switch ($action) {
case 'pdoResources':
$params = array();
$params['parents'] = filter_input(INPUT_POST, 'parents', FILTER_SANITIZE_NUMBER_INT);
$params['resources'] = filter_input(INPUT_POST, 'resources', FILTER_SANITIZE_NUMBER_INT);
$params['tpl'] = filter_input(INPUT_POST,'tpl');
$params['includeTVs'] = filter_input(INPUT_POST,'includeTVs');
$res = $modx->runSnippet('pdoResources', $params);
break;
}
if (!empty($res)) {
die($res);
}
JS выглядит так<script>
$('.trigger').on('click', function() {
var data = {
action: 'pdoResources',
parents: '25',
resources: objectId,
tpl: 'tpl.mapObjectsItem',
includeTVs: 'objectStatus'
};
$.post('/ajax/', data, function(data) {
$('.current-object').empty().prepend(data);
})
});
</script>
В чанке tpl.mapObjectsItem подгружается ms2Gallery...
[[!ms2Gallery?
&resources = `[[+id]]`
&tpl = `tpl.ms2GalleryCatalog`
&frontend_css = ``
&frontend_js = ``
]]
...
Все было бы замечательно, если бы не одно НО — когда на страницу при клике загружается нужный ресурс, вместо того, чтобы выполнить сниппет ms2Gallery, он выводится в виде текста, т.е. так[[!ms2Gallery? &resources = `61` &tpl = `tpl.ms2GalleryCatalog` &frontend_css = `` &frontend_js = `` ]]