Игорь Терентьев

Игорь Терентьев

С нами с 29 ноября 2013; Место в рейтинге пользователей: #82

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

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

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

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

Как передать DOM элемент в коллбэк miniShop2

Всем привет, данный вопрос уже много раз мусолили в сообществе, но хорошего решения так я и не нашёл, поэтому делаю ещё одну попытку, может в этот раз всё прояснится, и так:
В miniShop2 есть система коллбеков, в которую можно добавлять свои, это безумно круто и спасибо в очередной раз автору за такую гибкость, но проблема в том что в эти коллбеки не передаётся DOM элемент, спровоцировавший событие и тут приходится велосипедить на js всякие не красивые штуки.
Суть вопроса вот в чём, в карточке товара есть две кнопки — в корзину и быстрая покупка, надо что бы первая вела себя как обычно, просто добавляла товар и уведомляла нас что он добавлен, а вторая добавляла товар и если он успешно добавлен, то перекидывала сразу в корзину, и вот если бы в коллбек miniShop2 — добавление товара в корзину — можно было бы передать ту кнопку, которая спровоцировала событие добавления и проверить в своей функции допустим по классу, то можно было бы реализовать просто: и быструю покупку и открытие в модальном окне и вообще всё что душа попросит)
Семён Кудрявцев
07 октября 2016, 09:37
modx.pro
4
1 209
0

[ExtJS] Расширяем компонент Collections



Часто ли вам приходится расширять какие-то стандартные штуки в MODX или в компонентах для него? Мне вот часто! Поэтому, давно хотелось поделиться чем-нибудь интересным на этот счёт, что я собственно и сделал в статье Дополнительные поля профиля юзера, где описал, как можно расширить профиль юзера, чтобы всё выглядело натурально. На этот раз расскажу, как можно расширять компонент Collections, не прибегая к крайним мерам, вроде правки исходников приложения.
Павел Гвоздь
27 сентября 2016, 21:34
modx.pro
31
5 194
+19

Виртуальная страница пользователя

Вот была тема:
Страница пользователя как на modx.pro

Здесь было описано как сделать страничку пользователя с кучей мануалов! Вроде все понятно и вообще не чего трудного!

Делал все как написано в инструкции, которая расписана можно сказать так, что и «чайник» вроде меня разберется!
Andrey
14 сентября 2016, 13:21
modx.pro
8
2 549
0

msProducts + все изображения товара CONCAT

Ребята) есть задача выводить 10 популярных товаров со всеми изображениями выбранных товаров
Вызывать сниппет msGallery в количестве 10 раз не предлагать)
Взял на основу стандартный SQL который формируется при вызове сниппета
{set $popularProducts = $_modx->runSnippet('!msProducts', [
        'parents' => 0,
        'tpl' => 'tpl.popular.products.row',
        'limit' => ($limit?$limit:4),
        'includeThumbs' => '120x90,360x270',
        'where' => [
            'Data.popular' => 1
        ],
        'showLog' => 1
    ])}
    {$popularProducts?:'К сожалению популярных продуктов не найдено.'}
Мною был взят сформированный SQL, добавлен CONCAT и вроде на выходе то, что нужно, но как это все подружить со сниппетом не представляю.
lexikon
12 сентября 2016, 13:26
modx.pro
3
3 022
0

Сохранение корзины для пользователей

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

В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.

Воеводский Михаил
08 августа 2016, 15:06
modx.pro
42
5 419
+12

Как передать параметр из Clientconfig в PdoMenu

Есть такой вызов меню:
{$_modx->runSnippet('pdoMenu', [
'level' => '1',
'parents' => '2,3',
'resources' => '[[++set_menu_top]]',
'scheme' => 'full',
'tplOuter' => '@INLINE {$wrapper}',
'tpl' => '@INLINE <a href="{$link}">{$menutitle}</a>'
])}
В Clientconfig добавил параметр set_menu_top, в которой список Id ресурсов, через запятую.

Так вот, Fenom не хочет подхватывать этот параметр.

Пробовал так
{'set_menu_top' | option}
и так
{$_modx->config.set_menu_top}
— тоже не видит его.

Что я делаю не так? Как передать параметр в сниппет?
Rootiys
09 июля 2016, 15:06
modx.pro
2
2 780
0

В погоне за удобством посетителей или умные ссылки

Здравствуйте.
У многих на сайтах есть блок с похожими статьями, как правило их выбирают из тех же категорий или используют теги. Но не все ссылки (статьи) в этих блоках одинаково полезны для посетителей, и если проверить, то на одни кликают часто, на другие крайне редко.
Борис И
06 июня 2016, 17:03
modx.pro
20
3 271
+12

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
114
18 593
+19

[UPDATE] Разные скидки в зависимости от общей суммы корзины

По следам записи Михаила Воеводского и этого объявления о работе был написан плагин для miniShop2, который позволяет выставить скидку в процентах для всей корзины в зависимости от общей суммы корзины.
Скидка выставляется пошагово: по достижении определённых сумм применяется своя скидка. К примеру, корзина стоит 100кр — скидка 10%, 150кр — 15%. При желании можно выставить сколько угодно шагов и какой угодно процент. Данные указываются массивом в самом начале плагина, вот так:
$discounts = array(
    '100000' => '10%',
    '150000' => '15%',
    '200000' => '20%',
);
Часть кода была взята из компонента msPromoCode, в частности для того, чтобы цены на товары в корзине обновлялись динамически при смене кол-ва или удалении товара из корзины.
Павел Гвоздь
22 апреля 2016, 17:54
modx.pro
23
6 506
+11