Всего 125 937 комментариев

Эдуард
07 августа 2022, 22:51
+3
Я обычно подобные штуки делаю на migxdb с созданием отдельной таблицы в БД. (создаю пакет при помощи CMP Generator)
Потом выношу ссылку на эти migx таблицы в верхнее меню.
Плюсы: не нужно создавать отдельный ресурс с ТВ и отдельным шаблоном. Ну и прямая запись в эти таблицы очень удобно, если нужно туда что то писать через сниппеты.

С migxdb можно даже еще дальше пойти и расширить базовые migxdb процессоры, тогда можно еще кастомизировать вывод и редактирование стандартных migx строк на свою логику. Там есть конечно ограничения, но для большинства задач хватает что бы, что-то накрутить свое )) Например добавить кнопку в строку с каким-то событием при клике по ней, или показывать кнопку Активировать, если строка не активна и наоборот.
Дмитрий
07 августа 2022, 17:54
0
Спасибо за ответ!
Добавил
<IfModule mod_headers.c>
Header append Cache-Control «no-store, no-cache, must-revalidate»

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault «now»
ExpiresByType text/cache-manifest «access plus 0 seconds»
ExpiresByType text/html «access plus 0 seconds»
ExpiresByType text/xml «access plus 0 seconds»
ExpiresByType text/javascript «access plus 0 seconds»
ExpiresByType application/xml «access plus 0 seconds»
ExpiresByType application/json «access plus 0 seconds»
ExpiresByType text/css «now»
ExpiresByType application/javascript «now»
ExpiresByType application/x-javascript «now»

Один модуль по ajax стал работать, другой так и не переваривает без обновления страницы.
Я вообще правильно вас понял или куда-то не туда полез?
Может проблема в cloudflare?
Николай Савин
07 августа 2022, 17:25
0
В том же. У вас на сервере включено браузерное кэширование статичных файлов (js, css, img и т.п.)
Сервер отправляет заголовки кэширования, нужно их убрать.

В nginx например это работает как то так

location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp|ttf|woff|woff2|svg|webp)$ { 
        try_files           $uri $uri/ @rewrite; 
        access_log          off; 
        expires             10d; 
        add_header 'Access-Control-Allow-Origin' '*'; 
        add_header "Access-Control-Allow-Headers" "Access-Control-Allow-Origin"; 
        break; 
    }
Здесь перечислены кэшируемые расширения и заголовок expires говорит что надо закэшировать на 10 дней.
Дмитрий
07 августа 2022, 16:09
0
Смог сбросить кэш через сервер, но вылезла новая странность, теперь браузер не получает кэш при динамическом обновлении страницы через ajax, только после ctr f5 все подгружается.
Не подскажите в каком направлении теперь копать?
Антон
07 августа 2022, 16:02
0
как его можно выборкой из базы найти? Перерыл все сниппеты, чанки и шаблоны. Нигде упоминаний про profile нет
Дмитрий
07 августа 2022, 15:47
0
Спасибо добрый человек! Дело было в сервере
Игорь
07 августа 2022, 12:06
+1
Супер спасибо! Как раз вот искал самодельный способ без модулей на днях. Надо будет попробовать! Круто))
Максим
07 августа 2022, 11:37
0
Вы можете следить за сортировкой в категории. Но насколько я помню с сортировкой у опций всегда была беда. И это еще одна из причин, по которой разработчик должен использовать функционал расширения свойств товара.
Максим
07 августа 2022, 11:32
0
Можно посмотреть новую версию компонента. Если такой нет, то стоит подправить текущий под новые требования Яндекса.
Николай Савин
07 августа 2022, 11:08
0
Нет вы ничего не нарушаете.
Александр Мельник
07 августа 2022, 10:31
0
Спасибо, буду экспериментировать)
Сергей Шлоков
07 августа 2022, 10:12
0
Саш, ну ты же понимаешь, что делает Ctrl+F5?

Для сравнения, создай html файл (скопируй исходник основной страницы) в корне сайта и сравни заголовки ответа сервера в том и другом случае. Возможно, у тебя установлен какой-нибудь модуль для управления заголовком Last-Modified? Обычно, сервер в этом случае отвечает кодом 304.

от статичный чанк
{include 'scripts.tpl'}
как то кешируется.
Инструкция include никогда не кэширует чанк. Открой кэш страницы и посмотри, что у тебя указано в поле _content.
Александр Мельник
07 августа 2022, 09:29
0
Если я создаю просто html страницу (вне modx, но на том же сервере, с теми же настройками кеширования, сжатия и прочего) и в ней подключу файл js через script
И буду изменять имя этого файла или же изменять его версию 97.1 — 97.2
<script src="assets/a7/js/park.js?v=97.1"></script>
То браузер получит в html всегда корректную версию, поймет что такого файла нет в его кеше и отправит запрос на получение нового скрипта. Все как и ожидается. Нет необходимости ctl+f5 нажимать.
Но если точно такая же страница создается в modx, то html страницы не изменяется, и соответственно браузер и не знает, что версия js файла изменилась и берет из кеша. Мне кажется причина все же в кешировании самого modx. Тот статичный чанк
{include 'scripts.tpl'}
как то кешируется. И я не знаю способа предотвратить это.
Сергей Шлоков
07 августа 2022, 08:49
+1
За это отвечает веб-сервер.
Сергей Шлоков
07 августа 2022, 08:47
0
Хех, рассказываешь про Ctrl+F5, а лезешь в настройки MODX.

У тебя проблема с кэшированием браузера, вот и разбирайся с ним — смотри заголовки веб-сервера, которые отвечают за кэширование — всякие там cache-control, expires, pragma…
Ivan
06 августа 2022, 22:44
0
Администрация, если я что-то нарушаю или делаю не правильно, то сообщите в комментариях и я все поправлю.
Евгений
06 августа 2022, 17:33
0
видимо в случае с вызовом в чанке такая история не успевает обработаться и он ругается а потом нормально обрабатывает…
мутная тема, ранее использовал напрямую в шаблоне и инкогда проблем не было подобных
спасиб за пункт в настройках, отключил ))))
Павел Романов
06 августа 2022, 17:28
+1
Это понятно, но MODX не знает об этом и воспринимает как сниппет, который начинается на #
Евгений
06 августа 2022, 17:25
0
[[#[[*archive]].
это конструкция для fastfield
Дмитрий
06 августа 2022, 16:53
0
Да, спасибо, поддержка со мной 24\7 сидит ковыряется уже третьи сутки. Надеюсь проблема в моей прокладке между пк и креслом…