san4es

san4es

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

Собственные модификаторы Fenom

Продолжаю разработку новой версии modstore.pro и хочу поделиться простым способом подключения своих модификаторов.

Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
{$variable | snippet}
Но
  • Сниппеты бывают совсем небольшие и создавать их на каждый чих не хочется
  • Вызов сниппета, это всё-таки дополнительная нагрузка
  • Лично я уже полностью перешел на файлы, и создавать запись в БД для сниппета, только ради его связи с файлом мне совсем не хочется
То есть, я хочу просто вызывать некий код в качестве модификатора. И в этом мне поможет событие pdoToolsOnFenomInit, которое появилось в pdoTools 2.6.0 и мало кто это заметил.
Василий Наумкин
14 января 2017, 05:49
modx.pro
29
8 890
+14

[РЕШЕНО] Простое наличие товара (остаток)

Добрый день!
Подскажите пожалуйста, может кто знает простое решение. Есть товар в единственном экземпляре и есть его наличие. Наличие сделано через плагин. Выводится вот так:
[[+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>`]]
Алексей
19 декабря 2016, 08:12
modx.pro
3
3 949
0

Сортировка значений опций товара

Добрый день.
Ситуация такая — создал опции для товара:
Лента 1250х50 мм
Лента 1250х75 мм
Лента 1250х100 мм
Но после сохранения товара они изменили порядок и стало так
Лента 1250х75 мм
Лента 1250х50 мм
Лента 1250х100 мм
А это не правильно с той точки зрения, что опции нужно выводить в порядке возрастания их цены. Есть конечно вариант сделать только цифры, например 50, 75, 100, но так не всем покупателям понятно и лучше выводить полное название.
Подскажите, как можно отсортировать опции в нужном порядке.
Пользователь Володя подсказал вариант с
github.com/vgrish/miniShop2/blob/7d60279388e7301b31fd9ad5f9862881d7ec7721/core/components/minishop2/elements/snippets/snippet.ms_options.php
и с github.com/bezumkin/miniShop2/pull/248#issuecomment-252066243
Но смешанные данные у меня не отсортировались — там где и строка и числа…
Андрей
11 декабря 2016, 16:01
modx.pro
7
7 308
0

Скрипт для создания менеджера

Скрипт для создания пользователей с определенными правами и своим источником файлов для админки.

По умолчанию будет создан менеджер с логинам и паролем manager и медиа источником с корневым каталогам assets/uploads из прав у пользователя будет только возможность работать с ресурсами, а c пунктов меню доступ только к «Приложения»

Для настройки политики доступа необходимо в массив $accessPolicy добавить название определенной политики с значение 0 или 1
Prihod
09 октября 2016, 14:12
modx.pro
34
4 219
+22

[msTelegram] Уведомления о заказе в telegram

Небольшой плагин на уведомление о новом заказе в телеграм, отличная замена сервисам смс рассылки.

Сделано на основе гайда от Михаила.
Как получить токен, узнать айди чата и тд так же отлично расписано в гайде.



Плагин вешается на событие msOnCreateOrder.
but1head
18 сентября 2016, 23:26
modx.pro
21
10 282
+18

Наследование в Fenom

Добрый день!
Ни как не могу разобраться, как правильно записать на Fenom'е. Есть 2 шаблона, 2й наследует от первого. Есть 2 блока, один внутри другого. Надо поменять верстку во внешнем блоке, а внутренний оставить без изменений.

Приведу пример:
shablon_1
<html>
</html>
<head><title>Пример</title></head>
<body>
{block 'content'}
	<div>Текст 1</div>
	<div>Текст 2</div>
	{block 'sidebar'}
		<div>Сайдбар</div>
	{/block}
{/block}
</body>
</html>

shablon_2
{extends 'template:shablon_1'}
{block 'content'}
	<div>Текст 1</div>
	{block 'sidebar'}
		{parent}
	{/block}
{/block}

Получается во втором шаблоне мне надо чуть изменить верстку в блоке content, а в блоке sidebar ничего менять не надо. Но запись, описанная выше не работает. Она работает только в том случае, если в шаблоне shablon_2 уже определен блок sidebar. Подскажите пожалуйста, как правильно вставить блок sidebar без изменений, т.е. в том же виде как в шаблоне shablon_1? Ну не вставлять же верстку повторно?
А может плохая идея вставлять блоки в блоках?
Sphinx
08 сентября 2016, 06:22
modx.pro
2
3 113
0

Как записать опции товару?

Добрый день.

Нужно записать опции к товару, никак не пойму как это сделать. Опции типа combo-box, нужно записывать туда несколько значений. Пробовал много вариантов:
Андрей
06 сентября 2016, 10:37
modx.pro
6
7 967
0

[msOptionsPrice2] - Модификации продукта.

[msOptionsPrice2] — Новая версия с модификациями продукта. Кардинально отличается от предыдущей, просто обновиться не получится.

В целом компонент так же работает с опциями продукта, но теперь опции привязаны к модификации продукта. Так же модификации можно задать свой артикул, вес, кол-во и конечно стоимость. Доступны все опции продукта.



Заранее приношу свои извинения за невозможность апгрейда со старой версии.
Володя
03 сентября 2016, 10:18
modx.pro
11
36 475
+8

groupIt - обертка результатов.

Была задача вывод элементов от pdoResources поделить на группы и обернуть их в div.
Поиск дал приятный результат, я нашел ответ в виде спиппета groupResources(это был обычный велосипед) и переписал его на свой лад.
Пример его работы
<div class="group">
     ContentA
     ContentB
     ContentC
   </div>
   <div class="group">
     ContentD
     ContentE
   </div>
DimenSi
14 августа 2016, 08:00
modx.pro
31
4 358
+26

[looked] Компонент "Вы смотрели"

Компонент looked для MODX revolution даёт возможность добавить на сайт блок с последними просмотренными страницами (товарами) пользователем.
Марат Марабар
07 июля 2016, 20:00
modx.pro
14
10 728
+27