Роман Воропаев (Volk)

Роман Воропаев (Volk)

С нами с 03 декабря 2015; Место в рейтинге пользователей: #80

Как подменять значение свойства на лету?

Как в плагине на ходу подставлять значение системной настройки, в зависимости от условия?

Ситуация: адреса менеджеров минишопа хранятся в системной настройке ms2_email_manager. В зависимости от условия нужно подставлять нужный адрес, в данном случае в зависимости от выбранного пользовтаелем города, заказы должны высылаться только в нужный город, а не всем менеджерам.
Василий Столейков
03 августа 2017, 04:40
modx.pro
3
1 929
0

Страницы - поддомены

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

Позволяет использовать обычные страницы в качестве поддоменов, примеры:

mysite.ru/test — Изначальный адрес.
test.mysite.ru — Новый адрес с поддоменом.

Также работает и с дочерними страницами, примеры:

mysite.ru/test/page.html — Изначальный адрес.
test.mysite.ru/page.html — Новый адрес с поддоменом.
Олег
18 июля 2017, 07:47
modx.pro
23
6 379
+10

[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой

Пакет довольно прост и одновременно функционален. Выполняет систему рейтинга для любого объекта, по-умолчанию, для ресурсов. Чем-то напоминает систему лайков на YouTube, в частности, в пакете реализован оптимистичный интерфейс.


Также, особенностью компонента является правильный подсчет рейтинга на основе вычисления нижней границы доверительного интервала Вильсона для параметра Бернулли. По-простому: эта формула не даст встать новым записям с 1 лайком и 0 дизлайками выше более старых записей с сильным рейтингом.

Список преимуществ:
  1. Оптимистичный интерфейс,
  2. Наиболее правильная формула вычисления рейтинга,
  3. Работа с любыми объектами (modResource, modUser, кастомные объекты),
  4. Голосование гостями,
  5. Анимированное изменение полосы/числа рейтинга,
  6. Событие плагина — xLikeOnVote.
Павел Гвоздь
16 июля 2017, 18:05
modx.pro
18
10 296
+34

[ExtJS] Расширяем нативную гриду юзеров


После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное уметь пользоваться «методом тыка» понимать принцип того, что делаешь. Что-ж… давайте расширять нативную таблицу пользователей!
Сразу опишем задачу, которую реализуем в рамках статьи:

  1. Убрать слева каждой записи ненужный чекбокс,
  2. Добавить столбцы: Фото, Дата рождения, Страна, Город,
  3. Добавить возможность отфильтровать пользователей по стране,
  4. Заменить некрасивое поле поиска на симпатичное и компактное,
  5. Подсветить заблокированных красным цветом.
Павел Гвоздь
07 июля 2017, 19:14
modx.pro
42
4 871
+21

Редирект на свою страницу после оформления заказа

Для Minishop2 версий >= 2.4.* Думаю, информация будет полезна начинающим разработчикам: можно на простой задаче заодно и немного разобраться в логике работы магазина.
Алексей Шумаев
02 июня 2017, 22:06
modx.pro
20
6 340
+7

Множетственная ReCaptcha2 на 1 стр + Ajaxform

Добрый день! Вдохновленный заметкой и комментарием Андрея в ней, я решил немного по подробнее расписать про особенности подключения Google ReCaptcha 2 для использования в MODX Revolution c дополнением AjaxForm и FormIt.


Под катом пример с картинками.
Sergey Leleko
17 мая 2017, 11:11
modx.pro
33
7 409
+12

Тест вложенности ресурса в контейнер [с блекджеком и плюхами]

Проверить, есть ли контейнер в списке родителей ресурса, можно разными способами:

  • Можно сделать это используя карту ресурсов, которую MODX создаёт для каждого контекста после обновления кеша. Для этого необходимо воспользоваться методом $modx->getParentIds. Таким образом нагрузка и время затрачиваемое на проверку будет минимальным.

  • Не заморачиваться и сделать всё исключительно на Fenom, без модификаторов. Тут мы тоже можем воспользоваться методом $_modx->getParentIds, который Василий услужливо вынес в список доступных в Fenom.

  • Можно даже извратиться до того, что на каждую такую проверку получать объект через getObject('modResource') + получать объекты его родителей через getOne('Parent'). К слову, что будет в случае, если нам, к примеру, надо проверить 50 товаров на странице на вложенность в определённую категорию?
    Ради интереса, я воспроизвёл подобную ситуацию на тестовом сайте Modhost:
    1. Без каких-либо проверок 50 товаров в списке категории выводятся за 0,0282 сек.
    2. С подобной проверкой, за 0.1304 сек.
    3. С проверкой, которую мы рассматриваем в этом посте, за 0.0307 сек.

    А потом заказчики сходят с ума, почему их сайт так долго открывается...
Павел Гвоздь
26 апреля 2017, 05:28
modx.pro
17
4 293
+15

[localizator] Мультиязычность, СЕО, автоперевод...



Языковые версии \ сателиты без контекстов, с автоматическим переводом всех полей ресурса + сео, да еще и автоперевод лексиконов — это я уместил в названии localizator.
but1head
23 апреля 2017, 20:57
modx.pro
42
30 632
+32

Вывод Меток на Яндекс Картах по адресу

Автоматическое добавление на карту любых точек по адресу (Филиалы, дилеры, офисы по стране).

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

Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса.

Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом.
Николай Савин
22 апреля 2017, 13:39
modx.pro
16
7 929
+7

[modSendPulse] - Рассылки через SendPulse

Компонент modSendPulse предоставляет возможность интеграции с популярным русскоязычным сервисом Email рассылки SendPulse.

Основная задача текущей версии компонента — управление подписной базой.

Состав компонента:
  1. Хук для Formit или ajaxForm
  2. Компактный сниппет для ручной работы
  3. Плагин срабатывающий при регистрации пользователя на сайте
Николай Савин
20 апреля 2017, 10:05
modx.pro
8
5 509
+9