Артур
Или даже так редиректит на главную?
Turbo1235
Тогда loginResourceId = [[*id]] работает
возможно вы меня не совсем поняли, короче история такая, есть раздел с документами, менеджер заполняет его документами через админку, после этого рассылает письмо со ссылкой на этот раздел типа https://site.ru/docs/ Но при переходе по это ссылке требует авторизацию, ты вбиваешь логин пароль и попадаешь на главную а надо в тот раздел который был запрошен
Артур
Поставь в loginResourceId id https://site.ru/docs/
Turbo1235
так ссылка же может быть на любой другой раздел
Николай
как вариант - можно запоминать ID ресурса (по ссылке определить его) в куку и потом подставлять ее из куки вот сюда loginResourceId = [[*id]]
Николай
но не уверен что сработает
Артур
так ссылка же может быть на любой другой раздел
Тогда передавай в ссылке get параметр и в loginResourceId = [[#GET.id]] по-моему так
Николай
Тогда передавай в ссылке get параметр и в loginResourceId = [[#GET.id]] по-моему так
Врятли менеджер в курсе как подставить это в ссылку - как правило это девочка, которой дали чтото просто заполнять по шаблону
Артур
Врятли менеджер в курсе как подставить это в ссылку - как правило это девочка, которой дали чтото просто заполнять по шаблону
Верно конечно, но там же письмо формируется, значит в шаблоне письма можно подставить
Turbo1235
Не письмо она в аутлуке отправляет и ссылку из браузера вставляет))
Артур
Артур
И что это даст?
Тогда авторизация будет на той же странице на которую пришёл пользователь и ты сможешь сделать так loginResourceId = [[*id]]
Turbo1235
Тогда авторизация будет на той же странице на которую пришёл пользователь и ты сможешь сделать так loginResourceId = [[*id]]
Возможно как решение, но у нас сайт закрытый для всех только доменные пользователи и при входе должна быть страничка авторизации, в любом случае спасибо за помощь.
Артур
Возможно как решение, но у нас сайт закрытый для всех только доменные пользователи и при входе должна быть страничка авторизации, в любом случае спасибо за помощь.
Сделай для менеджера отдельную страницу со списком разделов, только ссылки туда вставь с get параметрами, пусть копирует оттуда
Turbo1235
Сделай для менеджера отдельную страницу со списком разделов, только ссылки туда вставь с get параметрами, пусть копирует оттуда
склоняюсь к написанию плагина который будет цеплять из куки ссылку на страничку и записывать в глобальную переменную и подставлять ее в сниппет login
Turbo1235
ну а по мне делать ссылку с get параметром это костыль
Turbo1235
нашел еще такой параметр &redirectToPrior=0 yt gjqve xnj jy ltkftn
Turbo1235
не пойму что он делает
Артур
Кстати попробуй, возможно это то что нужно.
Артур
включил его но толку 0
Возможно стоит добавить в head всех страниц <meta name="referrer" content="same-origin">
Артур
Потому что по умолчанию HTTP_REFERER по-моему пустой
Developer
здравствуйте, подскажите, при первой загрузке страницы контент не выводится в теге <article> т.е. там пусто, а после перезагрузки страницы контент есть в <article> как и должно быть. в чём может быть здесь ошибка? {if !($snippet = $_modx->cacheManager->get('blog_content'~$page.id))} {'getImageList' | snippet : [ 'docid' => $page.id, 'tvname' => 'blog_content', 'processTVs' => 1, 'toJsonPlaceholder' => 'blog_content' ]} {var $snippet = $_modx->getPlaceholder('blog_content')} {set $null = $_modx->cacheManager->set('blog_content'~$page.id , $snippet, 0)} {/if} <article class="wrapper second" itemprop="articleBody"> {foreach json_decode($snippet, true) as $item} {include $item.MIGX_formname data=$item} {/foreach} </article>
Артур
Ты проверяешь есть ли сниппет в кэше, если нет ничего не делаешь, вот поэтому вероятно при первой загрузке после очистки кэша ничего не выводится.
Developer
Ты проверяешь есть ли сниппет в кэше, если нет ничего не делаешь, вот поэтому вероятно при первой загрузке после очистки кэша ничего не выводится.
я кеш не очищаю при первой и второй загрузке. при первой загрузке контента нет. {if !($snippet = $_modx->cacheManager->get('blog_content'~$page.id))} тут же проверяется что если ничего нет, тогда берётся отсюда {var $snippet = $_modx->getPlaceholder('blog_content')}
Артур
Вывод вообще максимально странный.
Developer
делал var_export($snippet) при первой загрузке стриницы выдаёт NULL
Developer
Вывод вообще максимально странный.
что именно странного в коде?
Артур
Зачем вообще проверка кэша? Если там что-то есть оно оттуда итак загрузится по-моему
Developer
Зачем вообще проверка кэша? Если там что-то есть оно оттуда итак загрузится по-моему
а как нужно? сразу чтобы бралось из placeholder? {var $snippet = $_modx->getPlaceholder('blog_content')}
Developer
без {if !($snippet = $_modx->cacheManager->get('blog_content'~$page.id))}
Developer
?
Артур
Вообще мне думается, что если ты используешь fenom, то можно включить pdotools_fenom_cache и выводить вообще через foreach
Developer
А почему нет?
{if !($snippet = $_modx->cacheManager->get('blog_content'~$page.id))} {'getImageList' | snippet : [ 'docid' => $page.id, 'tvname' => 'blog_content', 'processTVs' => 1, 'toJsonPlaceholder' => 'blog_content' ]} {var $snippet = $_modx->getPlaceholder('blog_content')} {set $null = $_modx->cacheManager->set('blog_content'~$page.id , $snippet, 0)} {/if} как этот блок правильно записать? с modx ещё мало приходилось работать.
Developer
чтобы без $_modx->cacheManager->get
Developer
{'getImageList' ... тут же берутся ещё изображения для статьи
Артур
{'getImageList' ... тут же берутся ещё изображения для статьи
migx хранить данные в json. Можно сделать так {set $blogContent = $_modx->resource.blog_content | fromJSON} {foreach $blogContent as $item} {$item | print_r} {/foreach}
Developer
это же будет с ошибкой
Артур
это же будет с ошибкой
Да собака на клавиатуру прыгнула, и сообщение отправилось))) Дописал.
Артур
Вместо {$item | print_r} свой шаблон
Developer
{if !($snippet = $_modx->cacheManager->get('blog_content'~$page.id))} {'getImageList' | snippet : [ 'docid' => $page.id, 'tvname' => 'blog_content', 'processTVs' => 1, 'toJsonPlaceholder' => 'blog_content' ]} {var $snippet = $_modx->getPlaceholder('blog_content')} {set $null = $_modx->cacheManager->set('blog_content'~$page.id , $snippet, 0)} {/if} а для чего здесь set $null = .... $null нигде не используется в этом шаблоне
Developer
или это вопрос к разработчику)?
Developer
ясно
Developer
migx хранить данные в json. Можно сделать так {set $blogContent = $_modx->resource.blog_content | fromJSON} {foreach $blogContent as $item} {$item | print_r} {/foreach}
подскажите, а для чего здесь getImageList? {if !($snippet = $_modx->cacheManager->get('blog_content'~$page.id))} {'getImageList' | snippet : [ 'docid' => $page.id, 'tvname' => 'blog_content', 'processTVs' => 1, 'toJsonPlaceholder' => 'blog_content' ]} {var $snippet = $_modx->getPlaceholder('blog_content')} {set $null = $_modx->cacheManager->set('blog_content'~$page.id , $snippet, 0)} {/if}
Developer
получается если нет $snippet тогда создаются картинки?
Артур
а чего без?) fenom сам выводит?
Кому как больше нравится. Хочешь выводи через сниппет, хочешь через foreach суть одна.
Developer
👍
Mikhail
Коллеги, подскажите, в modx есть метод безопасной модификации пакетов через пользовательское переопределение? Чтобы если обновляем наши наработки не слетали. Например дефолтные чанки и снипеты miniShop2 можно полностью переписывать или изменения луче как-то отделять?
Павел
гоняйте изменения транспортниками
Артур
Артур
Когда будет готов?
Алексей
Когда будет готов?
Х.з. я его попиливаю уже года 3 )))))
Алексей
По типу Алика...
Алексей
Но спонсора не нашел и сильно не искал....
Алексей
Ну.
Андрей
Артур
Есть ли смысл? 🙃
Пэт проджект😁
Павел
Контексты одна из самых крутых вещей в рево
Mikhail
А какие есть альтернативы gitModx для разработки всех внутренностей (шаблоны, чанки, снипеты) в нормальной IDE а не в админке?
Mikhail
А что на ваш взгляд удобнее использовать?
Павел
А какие есть альтернативы gitModx для разработки всех внутренностей (шаблоны, чанки, снипеты) в нормальной IDE а не в админке?
Есть еще мое решение https://modx.pro/solutions/19815 Но я его полгода уже может как глобально переписываю как полноценный composer пакет