Сергей Шлоков
С нами с 31 января 2013; Место в рейтинге пользователей: #5- Заметки 20
- Комментарии 24
1 час назад
спасибо, воспользовался вторым вариантом
MODX MiniShop2 редирект после заказа наличными 2
8 часов назад
Мы ценим и уважаем Ваш труд! Спасибо!
Классно, теперь могу поставить клиентам. Мне больше нравится темная тема, но клиентам некоторым привычнее рабо...
[EclipseUI] Обновление до версии 1.1.3 Кнопка переключения тем. 1
8 часов назад
Спасибо большое! На первом же сайте нашла подходящий для нас вариант.
Форма для оплаты 3
Сегодня в 08:50
Так ребята — «не бузите» !)
По порядку поясняю:
— Новая версия пакета для PHP 8 разработана, потому что SDK Юманей поддерживает только PHP 8. И тол...
[mspYooKassa:1.0.17] - Новая версия SDK 3.8.0 и PHP >= 8.0 8
Вчера в 22:54
Всем, доброго.
Подскажите, пожалуйста, данный компонент на локальном сервере (localhost/) проверить можно или он не будет там работать?
[tLogin] - Авторизация через Телеграм 30
Вчера в 16:54
Думал так можно выбрать только те опции которые мне нужны, но так не работает.
В принципе у вас в выборке нет опций, вы их присоединяете позже
msOptionsPrice.modification как получить продукты с одинаковым значением параметра модификации 12
Вчера в 14:50
document.addEventListener('DOMContentLoaded', () => {
const notyf = new Notyf( {position: {
x: 'center',
y: 'top',
...
Как позиционировать сообщения Notyf в FetchIt? 1
16 февраля 2025, 00:50
Заметил баг, если установлен controlErrorLog или modalConsole, то на странице CronTabManager они не работают.
PR отправил github.com/astra-modx/modx-...
CrontabManager - работа из под console ssh 6
14 февраля 2025, 22:35
Сниппет pbResources — это аналог pdoResources, но с возможностью присоединять таблицы по принципу «один ко многим», чего нет у pdoResources. Также пер...
PageBlocks. Выводим SEO-карточки 4
1. Я не смог найти способ проверить наличие дублей, вообще. Все статьи в интернете больше походят на набор бабушкиных сплетен «зайдите в гугл, поищите так, а потом на яндекс, поищите эдак — видите, у вас разные результаты, значит у вас там где-то дубли!».
2. Если на сайте есть страницы, которые Яндекс исключил из поиска, наверное — он должен где-то их показывать? Не вижу
3. Откуда вообще могут взяться дубли по url, если этих url нигде нет? Ссылки на сайте выводятся как надо, в sitemap.xml — тоже. Яндекс сам при индексировании будет убирать слэш у контейнеров, что ли?
Ну а теперь ответы.
Friendly urls — это команды движку открыть какую-то страницу не по номеру, а по имени. Имя отправляется на запрос в index.php и он уже думает, какую страницу отдать. Так что, Apache2 и Nginx здесь сразу не при чём, работать нужно с движком сайта.
Для примера я набросал простой плагин, который сравнивает запрошенный адрес с каноническим для страницы, и если они не совпадают — делает 301 редирект.
Конечно, его нужно внимательно тестировать, но общее направление работ понятно.
на одном сайте делал так:
Подключал библиотеку.
Вешал событие на клик по кнопке закрытия блока.
Когда пользователь кликает — в куки уходит запись и в течение 2 дней (или пока не почистит куки) пользователь не видит этого блока.
Мне этого было достаточно…
К своему объекту можно привязать что угодно — для того и нужны aggregates и composites. Например, вот связь сервиса HybridAuth с юзером. Вот она же, но уже в самом классе.
А вот связать объект MODX со своим чуть сложнее, нужно проявить фантазию. Мне нравится делать это при загрузке metadata своей модели.
В OnBeforeDocFormSave новые (сохраняемые) значения TV можно получить следующими способами:
1) Из массива $_POST (как указал Василий). Но этот вариант работает только при вызове коннекторов (сохранение ресурса в админке). Если процессор вызывается из собственного кода, то никаких параметров в запросе не будет.
2) Из массива data, который также передаётся плагину (не задокументирован). В этом массиве лежат все новые (сохраняемые) параметры — и стандартные, и ТВ. Ключ стандартного параметра = имени параметра, ключ ТВ = tvID.
В OnBeforeDocFormSave старые (исходные) значения TV можно получить методом getTVValue (извлекает данные непосредственно из БД).
Самый корректный вариант, имхо, — это OnBeforeDocFormSave + массив data + getTVValue.
От себя добавлю: sendRedirect — по умолчанию делает 302 редирект, для 301
Если есть — перезагружаю его права.