Кирилл

Кирилл

С нами с 02 мая 2019; Место в рейтинге пользователей: #88

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


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

Делаем колбеки miniShop2 для всех

Всем привет! Так как в miniShop2 есть список колбеков для того, чтобы на определённые действия, совершаемые компонентом, можно было повесить свой код и, тем самым, дополнить работу магазина, то многие разработчики дополнений используют их в своём коде. Я уж не говорю о вебмастерах, которые используют этот инструмент для решения определённых нужд в своих сайтах.

В чём проблема?

В связи с этим получается проблема. Колбеков мало, а желающих воспользоваться ими — много. Я уже не раз сталкивался с тем, что некоторые компоненты из Modstore не могут работать вместе, т.к. используют одни и те же колбеки, на одних и тех же страницах.
Проблема в том, что код одного компонента, использующего, например miniShop2.Callbacks.Order.getcost, пересекается с другим кодом, другого компонента, использующего этот же колбек. Получается конфликт, который я для себя, в своих пакетах, решаю так:
Павел Гвоздь
22 мая 2016, 00:53
modx.pro
13
6 335
+3

Фильтрация пользователей с помощью mFilter2

Делая очередной тематический каталог организаций, где каждый пользователь это отдельная организация, которая размещает информацию о себе и своих услугах, я обычно применял классическое решение, когда при регистрации пользователя с помощью Office, создается отдельный ресурс и тогда можно без проблем просматривать карточки (ресурсы) организаций, осуществлять поиск и фильтровать их по разным параметрам используя готовые коробочные решения mSearch2 и mFilter2.

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

Я решил заморочиться и сделал решение без дублирования информации, на основе таблицы пользователей.
Николай Савин
03 апреля 2016, 08:04
modx.pro
17
4 777
+4

MODX session и cookie - помогите разобраться

Есть задача — для всех посетителей, при первом заходе на сайт выводить определенный чанк.
При рефреше страниц и при последующем заходе, в течении 1 часа — чанк не выводить.

Нужен скорее сниппет, который сессии или куки будет записывать и затем проверять их.
Я не силен в написании сниппетов( Помогите разобраться, как такое реализовать.

Или может готовое решение есть у кого?
Rootiys
14 марта 2016, 09:58
modx.pro
4
7 583
0

Расширение любых таблиц MODX

В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.

Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.

Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Василий Наумкин
16 ноября 2015, 07:07
modx.pro
117
10 471
+11

Вывод заказов для Minishop2

Давно использую MODX Revo, но в основном для небольших сайтов. А сейчас решил сделать на нём интернет-магазин. Захотелось сделать на сайте личный кабинет покупателя, где он сможет просматривать свои заказы. Начал искать и не нашёл ни одного решения этого вопроса (может плохо искал?!).
Странно. В итоге написал свой велосипед — сниппет и чанк в котором выводится содержимое.
Павел Пустота
11 сентября 2015, 14:00
modx.pro
13
7 724
0

Включаем MemCache

MemCahed — это замечательная технология, которая позволяет кэшировать данные не на жесткий диск, а в оперативную память, которая быстрее во много-много раз. И если раньше MODX нужно было дружить с ней, то с версии 2.1 работа с MemCache уже включена в движок, и это нужно только активировать.

В принципе, операция не сложная, но есть один момент, из-за которого я и пишу этот топик.

Все операции, как обычно, написаны для сервера настроенного по этой инструкции.
Василий Наумкин
26 августа 2015, 04:58
modx.pro
8
12 103
0

Откуда 302 редирект?

Привет!
Ребят, подскажите один момент…

На сайте откуда то появился 302 редирект. В каталоге перехожу на 3 страницу, обновляю страницу, редиректит на первую. В консоли написано 302 Found…

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

При этом, когда перехожу на вторую страницу — редиректа нет!!!
Что за беда? Кто знает?

Сначала сайт делал на digitalocean, там nginx… Потом перенес на sweb, там Apache… Но редирект появляется и на nginx'e.
Помогите понять:) На всякий случай ссылку даю
Андрей Сухомозгий
20 марта 2015, 16:20
modx.pro
1
5 138
0

Как правильно выставить права на файлы?

Доброе время суток!

Подскажите, пожалуйста, каким файлам нужно присвоить права 777?

Не могу найти в интернете рекомендаций на этот счет. Пока, я на все файлы ставляю 777, а иначе установщик отказывает устанавливать движеок.
Александр Наумов
07 сентября 2012, 22:24
modx.pro
4
16 483
0

Как не хакать сторонние классы

Бывает, что вы используете какой-то сниппет или компонент, и он немного вас не устраивает. Вам нужно поправить буквально пару строк, но вы понимаете, что при обновлении эти измения пропадут.

Что же делать?
Все просто — нужно расширить сторонний класс своими методами. По сути, это очень похоже на «классные процессоры», только без процессоров и использовать можно везде — это стандартная возможность ООП.
Василий Наумкин
30 июня 2012, 12:21
modx.pro
53
7 919
0