Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #102 часа назад
У меня получилось вывести список изображений из определенной папки Яндекс Диска (код частично взят из разных источников и названия переменных совпадаю...
Получение и вывод списка картинок с яндекс диска 2
3 часа назад
Попробуйте поменять
'tplFilter.row.msoc|color' => '@FILE chunks/tpl.mfilter2.filter.checkbox.color.tpl'на
'tplFilter.row.msoc|color~value~color' ...
Подключение msOptionsColor 1
3 часа назад
При загрузке в тикет файлов картинок в галереюТы сам понял, что написал?
Изменяются имена файлов картинок при их загрузке в админке 1
3 часа назад
Polylang не предназначен для работы по ajax. Тебе нужно передавать на сервер текущий ключ языка. А на сервере написать плагин на событие OnMODXInit в ...
Как подружить SendIt и Polylang ? 1
5 часов назад
Я сильно поздно, но если вдруг нужно, пишите, помогу
ecommerce.js - Электронная коммерция (Яндекс.Метрика и Google Analytics) для сайтов на базе MODX + m... 12
8 часов назад
Прекрасная новость )
Impex3 — импорт/экспорт ресурсов MODX3 с поддержкой товаров MiniShop3 2
17 декабря 2024, 17:03
Подскажите, как вывести все картинки определенной папки Яндекс Диска? Перечитал инструкцию и не смог понять
[WebDAV] Медиа источник для облачных хранилищ 23
16 декабря 2024, 12:56
Беру свои слова назад, поудалял кеш, всё почистил, и всё заработало.
Наконец таки
Помогите подсказать с выводом результатов в HTML, через Sendit 8
Этот провайдер сейчас из коробки не поддерживается (просто заморожен), но восстановить не долго, доработаем.
Повторюсь, гарантии на доставку смсок по таким каналам нет никакой. Нужны белые каналы.
UPD: Заработала епочта. Вы немного слукавили со стоимостью. Она зависит от суммы пополнения баланса. Вы готовы за раз пополнить на 75 000 рублей, чтобы по 25 копеек смски слать? Не думаю. А на небольших суммах стоимость не сильно отличается.
Размер платежа, руб. Тариф, смс/руб.
от 1 до 999 0,51
от 1 000 0,48
от 2 000 0,43
UPD 2: Vlas, регистрация вчера ради одного коммента. Не рекламы ли ради?
Белые смс-ки на летсадс стоят 1.70. Это средняя по рынку стоимость.
Давай по порядку.
Во-первых, у тебя там всего три строчки на «создание кеша».
То есть простой запрос на УРЛ документа (кстати, об этом еще чуть ниже будет сказано).
У меня же плагин 200+ строк кода. Для того, чтобы сгенерировать кеш документа, я не шлю какие-то GET-запросы на внешние ресурсы, а именно гененерирую кеш на уровне выполнения самого скрипта. И там поверь, очень много тонкостей.
У тебя возникает вопрос нафига вообще так все усложнять? Почему не слать простой запрос? Я отвечу. Во-первых, задача ставилась не только генерировать кеш текущего редактируемого документа, но и кеш остальных документов тоже. Но ты, видимо, этого в статье не увидел, «дежавю» ослепило тебя. Вот смотри, что происходит при сохранении документа после полного сброса кена при включенной настройке генерации кеша всех документов (или настройке регенерации при полном сбросе кеша):
После чего даже все другие документы доступны сразу из кеша:
Ткни пальцем, где твой компонент умеет генерировать кеш остальных документов?
Кстати, тебе на заметку: при вызове обновления документов через процессоры напрямую, твой плагин не генерит кеш документа, потому что ты проверяешь глобальную $_POST['createCache'], а не $resource->get('createCache'). Не знал, что обновляемым объектам все передаваемые в процессор параметры присваиваются? Просто в БД не пишется лишнего.
Во-вторых, слышал про мультидоменность и мультиконтекстность? Давай посмотрим, что происходит при сохранении документов с твоим великим плагином?
Ой, 404-ая. А при заходе на документ по реальной ссылке во фронте, получаем его не из кеша.
А с моим плагином как? А с моим все хорошо. Он корректно определил контекст и сформировал корректный запрос.
Так что конечно можешь продолжать бесплатно свое раздавать. Оно же работает кое-как. Это нормально. А когда сделаешь, чтобы работало как у меня, тогда посмотрим насколько оно у тебя будет бесплатное, и не похожее на то, как у меня сделано.
И еще: если вдруг ты доработаешь свое «творение», и оно будет «генерировать» кеш всех документов, как именно ты это будешь делать? Так же слать GET-запросы? То есть на сайте 100 документов, 10 раз отредактировал страницу, ушло 10 раз по 100 запросов на сайт? Мало того, что это 1000 инициализаций MODX-а, так это еще и 1000 записей сессий в БД. А будет 10 человек работать, по 100 сохранений в день? 10*100*100 = 100 000 записей в БД за день? Ну-ну…
P.S. И не думай, что я «идею» подсмотрел у тебя. Поверь на слово, это не так. Я далеко не все твои топики читаю.
Добавляет новый пункт контекстного меню joxi.ru/Y2LjLVES9wy54r
Минус в том, что срабатывает только когда элементы подгружаются. Если в момент навешивания события элементы уже есть, то они будут без допэлемента. Но если вовремя вклиниться, то ОК будет.
Конечно получать по айдишнику не круто, лучше через менеджер компонентов брать или типа того (есть, к примеру, поиск по типу компонентов). Это так, набросок.
А вообще, еще лучше слать PR, функционал нужный и должен быть в ядре.
Сообщение произвольное, можно даже в кириллице. Но в кириллице одно сообщение — 70 символов, в латинице 140.
Я пользуюсь подобным: modx.pro/help/10524/#comment-71823
И как было заявлено в описании компонента, с нашей стороны помощь в настройке. Так что если не справитесь самостоятельно, поможем.
Если примут, то можно будет не только разрешать авторизацию без пароля (если возвращать true), но и можно будет выбрасывать собственные ошибки. Так будет гораздо гораздее.
Как раз этого и хотел не допустить, и это и решает данный PR. Его неидеальность только в том, что придется в нем в случае чего все равно проверять пароль, если надо проверить пароль (так как сейчас проверка пароля идет уже за пределами вызова этого события), но это не страшно. Теперь, если вы считаете, что все проверки пройдены, но не надо позволить пользователю авторизоваться, можно будет просто вернуть сообщение ошибки (не true и не false).
Хотя конечно, если где-то что подешевле нароется, будет замечательно.
Но плюс к слову, аргументирую.
Вот смотрите, процессор обновления документа расширяет базовый процессор modObjectUpdateProcessor. В этом процессоре есть метод fireBeforeSaveEvent(). Если у текущего процессора есть свойство $this->beforeSaveEvent, то на это событие вызывается плагин. В процессоре обновления документа resource/update это свойство есть, и когда процессор отрабатывается, выполняется и плагин. И в плагине можно вернуть сообщение об ошибке. И на это в базовом процессоре прописан корректный обработчик. Обратите внимание, что в этом обработчике прописано присвоение возвращаемой переменной $preventSave. И внимательно посмотрите на эту конструкцию:
Если $preventSave не пустое, то возвращается ошибка. Вот это правильная работа плагина. Создайте плагин на событие OnBeforeDocFormSave и пропишите $modx->event->_output = «false»; и попробуйте сохранить документ. Что получите? Ошибку.
Вас смущает 'false'? Так вот, это не неверное значение, как вы выразились, а произвольное строчное значение, то есть сообщение. И это сообщение может быть более непрограммиступонятное, и даже можно подсвечивать произвольные поля.
Вот это корректная работа плагина.
А что у нас в security/login прописано? Тупо возврат логического false. Из-за чего корректной обработки не происходит.
Вы просто выполняете дополнительные действия, никак не влияя на ход выполнения процессора. А вы попробуйте в этом своем плагине вернуть ошибку пользователю и прервать его авторизацию.
У нас с вами разные понятия «как надо». Сделаете вы $modx->event->_output = true; или не сделаете ничего, результат не поменяется в принципе. А вы сделайте так, чтобы поменялся.
А вы поищите хорошенько, может что-то подобное найдете.