Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
cyrax_02

Как обновить кэш стилей ?

Recommended Posts

Перенёс форум на другой сервер, изменился путь установки + изменилось название поддиректории, в которую установлен форум.

Всё работает нормально, кэш из админки полностью перегенерировал. Но при загрузке страниц форума некоторые картинки (только некоторые) по-прежнему подгружаются по старому пути (со старым названием директории, в которую установлен форум) - по этим картинкам получаю 404 ошибку.

 

Посмотрел - эти старые пути прописаны прямо в исходном коде страниц форума. Вперемешку с новыми путями.

Либо обновление кэша в админке глючит, либо это самое обновление кэша (которое из админки) кэш стилей не обновляет.

 

В папке /public/style_css имеется 4 папки CSS_1, ... CSS_4 (в /CSS_1/ipb_styles.css как раз прописаны старые пути) - это, насколько я помню, те самые стили (обычный, мобильный + 2 тестовых - когда-то пытался ковыряться). Изменил имена всех этих 4 папок - форум нормально загружается и отображается, как будто эти стили (CSS_1, ... CSS_4) не используются вообще. В общем, ничего не понятно. С этим форумом уже задолбался ковыряться - то одно, то десятое...

Share this post


Link to post
Share on other sites

У папки public должны быть права на запись. Кеш стилей обновляется вместе с кешем шаблонов одной функцией. Если адрес неисправен только у некоторых изображений, нужно найти эти изображения в коде и посмотреть каким образом прописан адрес форума, скорее всего он указан жестко, не переменной.

Share this post


Link to post
Share on other sites
У папки public должны быть права на запись.

Имеются.

 

Кеш стилей обновляется вместе с кешем шаблонов одной функцией

Кэш шаблонов - это skinsets ?

 

Изменил имена всех этих 4 папок - форум нормально загружается и отображается, как будто эти стили (CSS_1, ... CSS_4) не используются вообще

Посмотрел - стили загружаются из /public/min/ - т.е. минифицированные версии. Логично. Поэтому, изменение имён директорий /public/style_css/ к проблемам не привело. И генерируются минифицированные версии, судя по всему, в момент перегенерации кэша.

 

Если адрес неисправен только у некоторых изображений, нужно найти эти изображения в коде и посмотреть каким образом прописан адрес форума, скорее всего он указан жестко, не переменной.

Если рассматривать директорию /public/style_css/, то старая директория установки форума присутствует только в /public/style_css/CSS_1/ipb_styles.css - и там все пути прописаны полностью, включая домен.

Если рассматривать исходники стилей, доступные из админки (Внешний вид - Управление стилями - Редактирование стиля - CSS), то проверил их все (ctrl+F) - нигде не встречается упоминание старой директории установки форума.

 

Что имеем:

1. Все картинки с названием старой директории установки форума - это всё .png-картинки и все они запрашиваются из /public/style_images/master/

2. Эти пути прописаны в тех стилях, которые получаются через запросы вида (в отладчике Firefox на вкладке "Стили" эти стили обозначены как "index.php", т.к. получены через запрос .../index.php?...):

 

/public/min/index.php?ipbv=757070114f9adcb6f31ec3152818d259&f=public/style_css/css_1/ipb_mlist_addon.css,public/style_css/css_1/ipb_styles.css,public/style_css/css_1/calendar_select.css,public/style_css/css_1/ipb_common.css

 

/public/min/index.php?ipbv=757070114f9adcb6f31ec3152818d259&f=public/style_css/css_1/ipb_mlist_addon.css,public/style_css/css_1/ipb_styles.css,public/style_css/css_1/calendar_select.css,public/style_css/css_1/ipb_common.css

 

3. Как я уже написал, исходники стилей (доступные из админки) не содержат прямо прописанных путей - проверил все стили по Ctrl+F - только переменные.

4. Например, для стиля IP.Board (физическая папка = CSS_1) в исходниках ipb_styles.css прописано:

#search .submit_input {
background: #7ba60d url({style_images_url}/search_icon.png) no-repeat 50%;
text-indent: -3000em;
padding: 0; border: 0;
border: 1px solid #7ba60d;
display: block;
...

На клиенте (в браузере) [/public/min/index.php?]-запросами получаем такие стили:

#search
.submit_input {
background:#7ba60d url(http://site.ru/стараядиректорияустановкифорума/public/style_images/master/search_icon.png) no-repeat 50%;
text-indent:-3000em;
padding:0;
border:0;
border:1px
solid #7ba60d;
display:block;
...

Отсюда делаем вывод: переменная [style_images_url], отвечающая за путь к картинкам, в админке не изменена. Пошёл искать...

Edited by cyrax_02

Share this post


Link to post
Share on other sites

Слишком много букв, не осилил весь пост. Если в вкратце то, /public/min/ - это minify, кеш которого записывается в /cache/tmp/. /public/style_css/ это кеш стилей. Стили редактируются в АЦ. {style_images_url} - макрос, который при записи кеша на диске заменяется на адрес форума.

Обновить кеш стилей из АЦ.

Удалить кеш minify.

Профит.

Share this post


Link to post
Share on other sites
Обновить кеш стилей из АЦ.

Обновлял. Не раз. Само по себе не помогает.

 

Удалить кеш minify.

Из директории /cache/tmp/ удалил все файлы, начинающиеся с "minify..." (остались папки CSS и URI с 3 файлами .ser). Перезагрузил страницы форума - в браузере получил большую красную надпись - "Не удалось загрузить таблицы стилей" (похоже, /public/min/index.php? вернул пустой body или какую-то козявку - в тот момент не проверил).

 

Далее в очередной раз полностью обновил кэш борда из админки, после этого всё осталось по-прежнему (в /cache/tmp/ minify-файлы были пересозданы). Эти самые картинки снова грузятся из старой директории установки форума, /public/min/index.php? возвращает в качестве {style_images_url} старую директорию установки форума. Всё так, как я описал в своём предыдущем посте.

 

Профит.

Не профит )

Edited by cyrax_02

Share this post


Link to post
Share on other sites

По старой директории установки форума скрипт /public/min/index.php? прописывает:

/public/style_images/master/search_icon.png

/public/style_images/master/advanced_search.png

/public/style_images/master/topic_button.png

/public/style_images/master/user_navigation.png

/public/style_images/master/header_dropdown.png

/public/style_images/master/icon_inbox.png

/public/style_images/master/branding_bg.png

/public/style_images/master/icon_quicknav.png

/public/style_images/master/moderation_cog.png

/public/style_images/master/gradient_bg.png

/public/style_images/master/progressbar_warning.png

/public/style_images/master/maintitle.png

...

Edited by cyrax_02

Share this post


Link to post
Share on other sites

Где и каким образом прописаны эти картинки? Проверьте адреса в настройках форума.

Share this post


Link to post
Share on other sites
Где и каким образом прописаны эти картинки?

 

4. Например, для стиля IP.Board (физическая папка = CSS_1) в исходниках ipb_styles.css прописано:

#search .submit_input {
background: #7ba60d url({style_images_url}/search_icon.png) no-repeat 50%;
text-indent: -3000em;
padding: 0; border: 0;
border: 1px solid #7ba60d;
display: block;
...

На клиенте (в браузере) [/public/min/index.php?]-запросами получаем такие стили:

#search
.submit_input {
background:#7ba60d url(http://site.ru/стараядиректорияустановкифорума/public/style_images/master/search_icon.png) no-repeat 50%;
text-indent:-3000em;
padding:0;
border:0;
border:1px
solid #7ba60d;
display:block;
...

Т.е. вот эта штука (макрос, как вы говорите) - {style_images_url} - для картинок (в частности) генерирует некорректный путь (со старым названием директории установки форума).

Edited by cyrax_02

Share this post


Link to post
Share on other sites
Проверьте адреса в настройках форума.

В (Настройки > System > Глобальные настройки) присутствуют:

Мета тег: image_src (для Facebook) = {style_image_url}/meta_image.png

Путь до директории загрузок = новый путь к /uploads

Путь до директории кеша = пусто

Урлы тоже все корректные

 

В (Настройки > Forums > Темы, Сообщения и Опросы) никаких путей и урлов нет

Больше форумных групп настроек нет - только "Темы, Сообщения и Опросы".

 

Вроде как где-то в настройках ещё должны быть пути... или нет...

Share this post


Link to post
Share on other sites

В БД в таблицах

- ..._core_sys_conf_settings

- ..._core_sys_settings_titles

упоминания старойдиректорииустановкифорума нет.

 

В каких ещё таблицах могут храниться пути ? Если таких больше нет, значит, стараядиректорияустановкифорума хранится в каких-то кэшах, которые стандартными средствами борда (из админки) не чистятся...

Share this post


Link to post
Share on other sites

Проверьте значение константы PUBLIC_DIRECTORY в initdata.php (или constants.php)

Попробуйте удалить ipb_styles.css и сбросить кеш шаблонов в АЦ.

Share this post


Link to post
Share on other sites
Проверьте значение константы PUBLIC_DIRECTORY в initdata.php (или constants.php)

/**
* PUBLIC_DIRECTORY
*
* The name of the public directory
*/
if ( !defined( 'PUBLIC_DIRECTORY' ) )
{
define( 'PUBLIC_DIRECTORY', 'public' );
}

Файла constants.php нет.

 

Попробуйте удалить ipb_styles.css и сбросить кеш шаблонов в АЦ.

Офигеть. Кэш шаблонов обновляется не через "Система - Инструменты - Управление кэшем", а через "Внешний вид - Инструменты - Обновление кеш-файлов". Хотя бы ссылку там сделали бы на обновление кэша шаблонов, если уж туда его не включили...

 

Вопрос решён. Только вот в придачу ещё обновил данные базового стиля (обновление прошло успешно), но после перезагрузки страницы дата обновления файлов templates.xml отображется старая:

 

Для приложений:

Система (templates.xml обновлен - 16-July 13)

Форумы (templates.xml обновлен - 16-July 13)

Пользователи (templates.xml обновлен - 29-May 13)

Календарь (templates.xml обновлен - 28-May 13)

Впрочем, с такими мелочами можно бесконечно ковыряться...

Edited by cyrax_02

Share this post


Link to post
Share on other sites

Офигеть. Кэш шаблонов обновляется не через "Система - Инструменты - Управление кэшем", а через "Внешний вид - Инструменты - Обновление кеш-файлов"

Приехали. Управлением кешом - это системные кешы системы. А кеш шаблонов сбрасывается в Инструменты шаблонов. По моему это уже давно всем известно еще с версии 2x, и здесь тысячу раз говорилось как его обновить. Я предполагал что проблема с правами на запись у этого файла, но такого даже не ожидал.

 

Только вот в придачу ещё обновил данные базового стиля (обновление прошло успешно), но после перезагрузки страницы дата обновления файлов templates.xml отображется старая:

Базовый стиль обновляется из xml, а не наоборот. Дата файла меняться не должна.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...