9 часов назад
Походу твое решение спустя 4 года все такие стало актуальным
github.com/modxcms/revolution/pull/16571#pullrequestreview-2061133420
Facade Laravel в Modx 2/3 21
Вчера в 08:23
Всё норм работает, надо только заменить в файле core/components/msdsector/controllers/msdsectordeliveryhandler.class.php
if (!class_exists("ms...
[msdSector] - расчет стоимости доставки с учетом секторов. 10
15 мая 2024, 11:50
Немного дополню, для mSearch2 (может кому пригодится)
<script>
var lazyLoadInstance = new LazyLoad({
elements_selecto...
pdopage и vanilla-lazyload 7
15 мая 2024, 11:03
Каждый расходует свое время как хочет. :)
Вижу, что это что-то революционное. И стараюсь смотреть на такие вещи с точки зрения популяризации MODx в...
mmxTwig - еще одна интеграция шаблонизатора 6
15 мая 2024, 05:58
Добрый день,
Подскажите, написано, что «Добавлена автоматическая поддержка пользовательских множественных свойств»
Но при этом нигде не сказано...
[mSync] Новая версия синхронизации с 1С 87
14 мая 2024, 14:50
Спасибо!
Пробовал передать свой плейсхолдер — не работает такой подход.
Сейчас решение сделал в виде сниппета получающего id по pagetitle
cityFields внутри pdoResources и плейсхолдер id 2
14 мая 2024, 10:27
Решил, зашёл в контексты, web, и там создал новый контекст site_url, и там внутри добавил значение своего сайта на https.
Имя и ключ: site_url
Зна...
При добавлении <base href="[[++site_url]]"/>, не работают стили. 6
13 мая 2024, 23:47
Искал ответ примерно на тот же вопрос. Мне нужно было сделать file.php который будет выводить определенный ресурс из modx. Вот, может, кому то пригоди...
Как получить HTML код всей страницы в сниппете? 10
13 мая 2024, 16:14
Путем ковыряния несколько часов поля, что взял заказ, с кучей костылей. Много старых пакетов написаных еще в 14 году, которые не работаю php 5.6 стоял...
Не добавляется запись в MIGX 1
13 мая 2024, 12:48
Установил компонент. PHP 7.4, Modx 2.8.4. Созданные кастомные поля юзера не отображаются, в логе ошибка:
No foreign key definition for parentClass: e...
ExtraFields. Дополнительные поля для ресурса (modResource) и пользователя (modUserProfile). 33
— к примеру, можно создать свой сниппет «customTvList» и запустить в нем wayfinder или любой другой подходящий для задачи сниппет:
Здесь же можно и ограничить вывод возможных значений.
Ну и как вариант, могу предложить такое решение (костыль):
Создаем плагин adminStyles, срабатывающим на событие OnManagerPageBeforeRender с последующим кодом:
Ну и добавляем по указанному адресу соответствующий css-файл с параметрами {display: none;} к соответствующему элементу.
Т.е. нужно модифицировать формат вывода getResourse к данной структуре.
Чтобы не извращаться с поиском «новой цены», можно где-нибудь в невидимом блоке в корзине рядом с основной ценой ставить доп. цену и свитчить их при выполнении условия.
Ну и + все дополнительные места, которые могут повлиять на кол-во товаров, тоже зацепить скриптом.
Дальше — дело за css.
Второе — store.simpledream.ru/packages/users/socialtools.html не подойдет?
б) добавить 1 скрытое поле, на которую навесить проверку со стороны formlt + яваскрипт, который срабатывает на событие on.change нужных форм и заполняет/чистит поле валидации
в) написать свой сниппет для этого, благо функционал не сложный
У modx'a, если не ошибаюсь, для чпу в .htaccess прописано:
+ опять же, если пользоваться встроенными в modx настройками чпу и определением «страниц» для генерации страниц красивых ссылок для страниц пользователя, то необходимо «создавать» такие страницы в желаемом разделе при регистрации пользователя, а это вытекает в
На мой взгляд, для отображения страницы пользователя можно применить 2 принципиально разных решения:
— динамичное получение данных логина или id пользователя из адресной строки с последующем отображением
— фиксированное создание страницы пользователя в нужном разделе
Второй способ имеет плюс в том, что можно, теоретически, руками настроить совершенно любое отображение личной страницы для каждого пользователя персонально, но плодит кучу ненужных страниц и вообще несколько топорно.
Поэтому выбрав пункт 1, мы автоматически очень сильно связываем себя с внесением записей в .htaccess, а значит все равно допиливать дополнение руками.
Что же до остальных пунктов, то для части из них нужно или пилить дополнительно отдельный функционал регистрации + личный кабинет, или же уже задействовать имеющийся.
Ну и последнее и, пожалуй, самое главное: для удобной работы с дополнительными полями пользователя (медальки, карма) «не программисту» потребуется или написать фронтэнд-модуль или существенно изменить способ взаимодействия с ними через бэкэнд.
Страницы пользователей с нормальными урл
1. Создаем страницу «профиль пользователя» (не путаем с личным кабинетом), выставляем ему псевдоним, допустим users, к которой будут обращаться в виде site.ru/users?profile=имя
2. Ставим дополнение pdoTools
3. Создаем сниппет user.Profile и добавляем его в шаблон вывода
— насколько я помню, сразу вызвать pdoUsers с параметром конкретного пользователя нежелательно, т.к. если пользователя не существует, он выдает по-умолчанию весь список пользователей. Возможно, сейчас что-то поменялось или это можно обойти — не проверял.
Для данного сниппета также можно дописывать условия, если пользователь не активирован и тд и тп. При помощи параметров tpl и prepareSnippet кастомизируем до нужного уровня.
4. Дописываем в .htaccess
— чтобы ссылка приняла вид site.ru/users/Имя_пользователя
Возможность добавлять поля в профиль пользователя
При регистрации: дополнение login
Для редактирования пользователем (личный кабинет) — дополнение office
Возможность указывать шаблон для оформления страницы пользователя
1. Добавляем дополнительное поле в личный кабинет пользователя (шаблон отображения)
2. В шаблоне отображения профиля пользователя дописываем классы, завязанные на полученном значении (class=«userInfo-[[+tpl.style]]»)
2.А. Если необходимо менять структуру шаблона в зависимости от выбранного пользователя значением, то в сниппете в первой части дописываем до
получение extended-поля по id пользователя с вытекающими условиями if, внутри которых будет разный параметр $params['tpl']
Добавить «из коробки» дату регистрации и дату последней активности
Дату регистрации — сниппет логин и 1 доп. поле.
С датой последней активности сложнее, т.к. в таблицах Modx'a, насколько я помню, есть только поле последней авторизации. Возможно, нужно завязывать на сессии +временной промежуток.
Возможность сделать станицу пользователя общедоступной для просмотра
Аналогично пункту 2.А. в разделе «шаблона отображения»
По поводу импорта такого функционала на данный сайт — спорно (имхо).
Думаю, основной параметр для данной задачи — where +было бы на порядок проще, если бы нужные для вывода документы, помимо глубины, имели еще общие или справедливые только для них шаблоны — тогда весь вызов можно было бы ограничить только условием на соответствие этих шаблонов.
Готовое дополнение (без морфологии) — tagLister. Со всеми наворотами — разве что писать с нуля и, на мой взгляд, на порядок целесообразнее отдельным дополнением, т.к. те же теги потенциально пригодятся не только в тикетах (галереи, фото-видео и пр пр).
— к чему это сказано? С тем же успехом можно было сказать что-то в духе: «ребята, которые работают на битриксе, оценивают битрикс как один из самых удобных и быстрых функционалов», но вряд ли от их мнения он таким становится.
Ну и да, к слову: большого ума, как по мне, чтобы реализовать более быстрый аналог друпалу и вордпрессу в текущей их ипостасти и не требуется. Ровно до тех пор, пока легкие дополнения Modx'a не стали «универсальным решением на все случаи жизни из коробки для ленивых»
Что же до подгружаемых элементов с пакетами tickets — повторюсь, вопрос в востребованности и максимальной необходимости для большинства. И теги ими, на мой взгляд, не являются.
Другое дело, что отдельным сниппетом можно реализовать вывод, да. Но, в отличие от тех же комментариев, теги вряд ли логично выставлять отдельно со стороны бэкэнда.
Нормализация — тут уже придется подключать словари и не только. Вообще, если нужен будет морфологический анализ, имхо, это очень серьезный и сложный вопрос реализации, заслуживающий полноценного и отдельного дополнения.
А что имелось ввиду под «исключением тега»?
Вот как реализованы теги у меня (может, кому пригодится):
1. Дополнительное поле «tags»
Параметры ввода: Авто-метка (можно и простой строкой, по желанию)
2. Сниппет «tags», делающий теги ссылками (для последующего поиска по ним)
3. Вывод в чанке
— где &tagsPage — параметр, определяющий айди страницы поиска по тегам для формирования ссылки
Ну и дополнительно, для «полного спектра услуг»:
4. Создаем страницу "Поиск по тегам" с псевдонимом tag, где будем выводить все теги, удовлетворяющие запросу:
— где сниппет GET перехватывает выбранный тег в адресной строке.
GET
5. Дописываем .htaccess, чтобы адресная строка поиска приняла вид site.ru/tag/Название_тега