Борис
С нами с 15 марта 2016; Место в рейтинге пользователей: #1021Массовый импорт модификации продуктов [miniShop2]
В поддержке задали вопрос как можно массово добавлять модификации для продуктов (разные цены для разных размеров, артикулы уникальны для каждого размера).
Ниже привожу пример…
Ниже привожу пример…
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
MIGX getImageList и Fenom
Есть такой вызов
По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
Когда я пишу
Когда я пишу
То работает, получаю содержимое переменной. Весь массив значений.
Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
{$_modx->runSnippet('!getImageList', [
'tvname' => 'tv_product_main_gallery',
'tpl' => '@CODE: <some_chunk>'
])}
По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
'tpl' => '@CODE: [[+image]]'
Работает.Когда я пишу
'tpl' => '@CODE: {$image}'
То не работает.Когда я пишу
'tpl' => '@CODE: {$_modx->resource.myMIGXtv}'
То работает, получаю содержимое переменной. Весь массив значений.
Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
Fenom. Загрузка чанков и сниппетов из файлов
Продолжаю эксперименты с загрузкой чанков и сниппетов из файлов. Мой первый эксперимент с парсером оказался не очень удачный. Хотя задачу он решал, но ожидания были немного другие. А поближе познакомившись с феномом, нашел, как мне кажется, хорошее решение — модификаторы. Дальше для тех, кому это интересно.
TinyMCE + Tickets + выбор главной картинки в TV
Добрый день. Понадобился функционал удобного редактора textarea во фронтенде Tickets, а также сделать возможность пользователю выбрать главную картинку для тикета.
Вот что получилось:
Инструкция под катом
Вот что получилось:
Инструкция под катом
Названия tv-параметров для Comparison без словарей
После установки дополнения Comparison для miniShop2 оказалось, что он требует внести в словари названия для каждого tv-параметра (это упомянуто в документации). Но для сайта с уже существующими 300+ tv-параметрами это долго, и контент-менеджеру не объяснишь, что теперь, помимо создания параметра надо ещё куда-то что-то писать… В итоге, на странице сравнения вызов сниппета выглядит так
Обновление цены в minishop2 по курсу валюты
Цена в minishop2 по курсу валюты
Создал, как написано, TV usd_price:
Тип: чекбокс;
возможные значения: Да==1||Нет==0;
Значение по умолчанию: Да==1.
Создал системную настройку: ms2_usd_value, значение — 26 (нынешний курс валюты)
Создал 2 плагина на событие msOnGetProductPrice и msOnBeforeAddToCart
В чем проблема?
Создал, как написано, TV usd_price:
Тип: чекбокс;
возможные значения: Да==1||Нет==0;
Значение по умолчанию: Да==1.
Создал системную настройку: ms2_usd_value, значение — 26 (нынешний курс валюты)
Создал 2 плагина на событие msOnGetProductPrice и msOnBeforeAddToCart
if ($modx->event->name == 'msOnGetProductPrice') {
$tv = $modx->getObject('modTemplateVar', array('name' => 'usd_price'));
$modx->log(xPDO::LOG_LEVEL_ERROR, $tv->getValue($product->get('id'))); // для дебага
$modx->log(xPDO::LOG_LEVEL_ERROR, $modx->getOption('ms2_usd_value')); // для дебага
if($tv->getValue($product->get('id')) != 0){
$newPrice = (int)$modx->getOption('ms2_usd_value') * (int)$product->get('price');
$product->set('price', $newPrice);
}
}
Все работает, но цена товара отображается по курсу только после обновления страницы.В чем проблема?
Как исключить из адреса ссылки раздел?
Всем привет. Столкнулся с задачей, когда у сайта путь со вложеностями такой:
http://site.ru/catalog/igrushki/minoni/tovar.html
а нужно из адреса вырезать для всех остальных /catalog/, чтобы получилось так:http://site.ru/igrushki/minoni/tovar.html
А раздел с каталогом должен в админке остаться неизменным, т.к. все категории товаров и товары идут дочерними документами от него. Может есть готовое решение? ЧПУ фильтр mFilter2
Всем доброго времени суток!
Уже не в первый раз на своих проектах сталкивались с пожеланием сеошников, чтобы часть параметров фильтра была доступна ЧПУ-ссылками и чтобы это было достаточно универсально. Под катом пара решений, которые я старался пилить достаточно универсально, но всё же без небольших костылей не обошлось!)
Уже не в первый раз на своих проектах сталкивались с пожеланием сеошников, чтобы часть параметров фильтра была доступна ЧПУ-ссылками и чтобы это было достаточно универсально. Под катом пара решений, которые я старался пилить достаточно универсально, но всё же без небольших костылей не обошлось!)
Загрузка материала в модальное окно
Добрый день!
Подскажите, что-то не могу разобраться. как сделать так, чтобы определённые материал сайта подгружался в модальном окне. Хочу сделать вывод новостей. Сами анонсы как обычно, а вот пр нажатии по кнопке «Подробнее» хочу, чтобы вылезало модальное окно, а в нем сам материал необходимой мне новости отображался.
Не пойму как надо сделать вызов AjaxSnippet, чтобы анонсы подгружались а по клику по ссылке — в модальном окне грузилось все остальное.
Подскажите, что-то не могу разобраться. как сделать так, чтобы определённые материал сайта подгружался в модальном окне. Хочу сделать вывод новостей. Сами анонсы как обычно, а вот пр нажатии по кнопке «Подробнее» хочу, чтобы вылезало модальное окно, а в нем сам материал необходимой мне новости отображался.
Не пойму как надо сделать вызов AjaxSnippet, чтобы анонсы подгружались а по клику по ссылке — в модальном окне грузилось все остальное.