Обновить кэш пользователям. 2.X

Как обновить кэш в браузерах пользователей при изменении стилей?

 
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2646
Многие из нас пытаются сделать свои сайты как-то лучше, дорабатывают внешний вид, ставят новые версии шаблонов и т.д.
Но сам процесс обновления сильно удручает. К примеру, я устанавливаю новую версию шаблона tseso от Олега Васильевича или форума от Loadырь и пользователи присылают мне скриншоты полные боли и ужаса. Я всем советую жать CTRL+F5.
Все, кто знают, как жать - жмут, но у многих телефоны и планшеты и всем всего не объяснишь. А некоторые ни на что не жалуются, а просто, скрипя зубами обзывают админа уродом недоделанным, смотрят в кривые стили, плюют в дисплей и уходят с сайта.
Весь интернет полон советами заменить путь к стилям с 'styles.css' на 'styles.css?1234567' и тому подобное. На InstantCMS2 этот метод почему-то не прокатывает.
То есть изменение
<?php $this->addMainCSS($this->getTplFilePath('css/tseso.css', false)); ?>
на
<?php $this->addMainCSS($this->getTplFilePath('css/tseso.css?123456', false)); ?>
к успеху не приводит. Стили просто пропадают со страницы.
Пока просто принудительно меняю имена файлов и пути к ним.
Но может кто-нибудь знает более цивилизованные методы борьбы с кэшем в браузерах пользователей?
Посетитель
small user social cms
Сообщений: 94
<?php $this->addMainCSS($this->getTplFilePath('css/tseso.css?'.time(), false)); ?>
Как вариант.
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2646
@IamB,
Я именно так и делал. Этот вариант не работает. То есть файл tseso.css?134454657 нот фаунд.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2646
@IamB:
А кеширование у вас включено?
Пробовал отключать - у пользователей все равно ад и израиль.
Дело в кэше пользовательских браузеров.
Посетитель
small user social cms
Медаль
Сообщений: 516
При выключенном кеш изменения на сайте видны в обновленных опера и хром, но кеш на сайте нужен.

Может помочь очистка кеш dns, cmd - ipconfig /flushdns
Редактировалось: 1 раз (Последний: 14 марта 2018 в 23:00)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2646
@Elv:
Может помочь очистка кеш dns, cmd - ipconfig /flushdns
Знаете, как произвести очистку кэша из скрипта php или из яваскрипта?
@IamB:
Запретить кэширование страницы с помощью PHP
Во-первых страница не найдена. Во-вторых пробовал. Это не работает. Кэш уже у юзера в браузере и ждать его обновления 20 дней.

---------------------------------------------------------------------------------------
Друзья, если вы думаете, что меня в гугле забанили, то таки нет. Конечно все способы, которые можно найти в интернете, я перепробовал за день.
Реально работающий метод - переименовать файл стилей и переименовать путь. Но это очень кропотливая работа с изменением файлов шаблона.
Было бы волшебно, если бы работал метод style.css?.time(), но он не работает.
Уточню вопрос:
Как сделать, чтобы в INSTANTCMS2 работали стили вида style.css?123456789 ?
Редактировалось: 1 раз (Последний: 14 марта 2018 в 23:24)
Посетитель
small user social cms
Медаль
Сообщений: 516
Нашел это
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1159
Не работает только в функции getTplFilePath()
А использовать time() не советую, так вы отключаете кэширование сайта, клиенту это может не понравится
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Ris, делается это так
Код PHP:
  1. <?php $this->addCSS($this->getTplFilePath('css/styles.css', false) . '?v=290'); ?>
  2. <?php $this->addJS($this->getTplFilePath('js/jsfile.js', false) . '?v=290'); ?>
где css/styles.css - путь от корня вашего (или дефолтного) шаблона, а не от корня сайта или общей папки с шаблонами.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2646
Loadырь,
Ну вот сейчас обновил форум. Стили, конечно, съехали.
И не могу найти, где в шаблоне форума подключается файл /templates/default/controllers/forum/styles.css
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Файл стилей контроллера сам подгружается автоматически тут https://github.com/instantsoft/icms2/blob/master/system/core/template.php#L1335
Поэтому объявлять его отдельно в файлах шаблона нет необходимости. Сам файл тянется отсюда https://github.com/instantsoft/icms2/blob/master/system/core/template.php#L1258
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2646
Loadырь,
Попытка сделать так
Код PHP:
  1. return $this->getTplFilePath('controllers/'.$controller_name.'/'.$subfolder.'styles.css?v=424', false);
приводит к слетанию стилей и
Resource interpreted as Stylesheet but transferred with MIME type text/html:
Посетитель
small user social cms
Медаль
Сообщений: 516
Sheet real Sheet ... Галка сжимать HTML стоит ?
Редактировалось: 1 раз (Последний: 15 марта 2018 в 09:28)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Ris:
приводит к слетанию стилей
Всё верно, так как я вам показывал уже как надо, а вы продолжаете настаивать на своём zlo .
Делайте так:
Код PHP:
  1. return $this->getTplFilePath('controllers/'.$controller_name.'/'.$subfolder.'styles.css', false).'?v=424';
Посетитель
small user social cms
Медаль
Сообщений: 516
Этот чудесный код будет в instantcms 2.9.1 ?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.