Перейти к контенту
  • 0

Кеширование css стилей


house

Вопрос

Хочу чтобы стили css кешировались... Нашёл способ: зашёл в админпанель - настройка скинов - редактировать.

Там есть выпадающее меню, в кот. 2 варианта: Inline и External.

Проблема в том, что локально на моём компьютере есть это меню, а удалённо(в интернете) точно такой же мой форум(зекрало) нету.

Может быть нужно выставить где-нибудь права на файлы или еще чего-нибудь...

Прошу помощи...

К сообщению прилагается картинка - нижняя это локальный форум.

post-15264-1111222222_thumb.jpg

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
довольно долго мучался с этой проблемой на локалке, как решил, убейте не помню, действительно пропала Inline/External ... кажеться дело вот в чем. для External форум берет файл из папки cashe там храниться резервная копия стиля после редактирования. так вот, у вас в этой папке нет ничего. не откуда брать External. т.е. топаем в редактирование стиля, делаем вид что что-то делаем, давим кнопку "Сохранить" идем по FTP в папку cashe и смотрим появилось там что-то или нет. если появилось, тогда появиться окошко выбора Inline/External
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Сделал как ты сказал - бесполезно ;)

Видимо не в этом причина...

Также попробовал удалить из папки cache локального форума стиль css. Затем зашёл в настройку скинов и там все равно было это меню, не зависимо от того, есть ли css стиль в папке cache.

Что же делать...

Dekker, попроси пожалуйста кого-нибудь ещё кто шарит чтобы посмотрели эту тему, авось знают :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

house

у тебя на самом форуме которые НЕ на локалке есть что-то в папке cache ? это раз.

 

во вторых можно поступить прощее. топай в админку в редактирование шаблона, там удаляешь <% CSS %>, а примерно после тега </title> вставляешь

<LINK REL="STYLESHEET" TYPE="text/css" HREF="http://forum.net/cache/css_links.css"> ну или куда там хочеться ссылку на CSS.

[1111235059:1111235209]да, в папке cache стиль находиться вида css_(номер скина).css

 

>> Dekker, попроси пожалуйста кого-нибудь ещё кто шарит чтобы посмотрели эту тему, авось знают

 

слыш, брателло, сгоняй на пивом, не забудь, две бутылки "Сармат Жигулевское".

 

я те что, прислуга ???

Ссылка на комментарий
Поделиться на других сайтах

  • 0
у тебя на самом форуме которые НЕ на локалке есть что-то в папке cache ? это раз.

Да, 3 файла: css_1.css(тот самый), index.html(по умолчанию лежит в каждой папке форума) и faq_about_css.txt(в нём указано какой стил что изменяет - чисто для админа).

во вторых можно поступить прощее. топай в админку в редактирование шаблона, там удаляешь <% CSS %>, а примерно после тега </title> вставляешь

<LINK REL="STYLESHEET" TYPE="text/css" HREF="http://forum.net/cache/css_links.css"> ну или куда там хочеться ссылку на CSS.

Я понял, попробовал - работает. Но:

1. На главной в одном месте стало не правильно отображаться фон(картинка) для строки таблицы. Видимо в css прописан путь, кот. при данном методе нужно изменять. В принципе можно было бы исправить...

2. Этот способ на мой взгляд не гибкий, статичный.

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

Ну не грамотно это... Админы должны стремиться к полной автоматизации процесса. :D

 

да, в папке cache стиль находиться вида css_(номер скина).css
Спасибо, я в курсе ;)

 

слыш, брателло, сгоняй на пивом, не забудь, две бутылки "Сармат Жигулевское".

я те что, прислуга ???

Не подумал, что это может обидеть. Извени :)
Ссылка на комментарий
Поделиться на других сайтах

  • 0

house

 

>>1. На главной в одном месте стало не правильно отображаться фон(картинка) для строки таблицы. Видимо в css прописан путь, кот. при данном методе нужно изменять. В принципе можно было бы исправить...

 

чччер, забыл уточнить :D

 

css_1.css это дефолтовый скин ... я с ним ни разу не работал, только в самом начале. странно что дефолт выпендриваеться подобным образом. и не хочет видеть скешированный css файл ... но, как я тогда вылавливал эту ошибку на скине, сделай на локалке External и сохрани страницу в HTML. просмотри, стиль ссылаеться именно на папку cache и только оттуда он может взять файл для подгрузки. больше неоткуда.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Поставил External, сохранил в HTML. Вот что там:

<style type='text/css' media="all">
@import url(css.php?d=1_1.css);
</style>

 

А вот код файла css.php в корне форума:

$root_path = './';
$in     = explode( "_", $_GET['d'], 2 );
$css_id = intval($in[0]);
$img_id = preg_replace( "/.css$/", "", $in[1] );
$data   = "";
if ( $css_id && $img_id )
{
if ( $FH = @fopen( $root_path."cache/css_{$css_id}.css", 'r' ) )
{
 $data = @fread( $FH, @filesize($root_path."cache/css_{$css_id}.css") );
 @fclose( $FH );
}
}
$data = str_replace( "<#IMG_DIR#>", $img_id, $data );
@header( "Content-type: text/css" );
print $data;
exit();

Как видно из кода он действительно берёт файл из папки cache.

 

Соединяясь по FTP с форумом, в связи с некоторыми обстоятельствами я не могу выставлять на файлы права(CHMOD), а админ FTP может. Отсюда у меня вот такая временная(до понедельника) проблема

Я сейчас зашёл через админку в редактирование стиля, затем нажал сохранить его и вывелать следующая надпись: "Стиль обновлён : Кэш файл не обновлён. Проверьте CHMOD атрибуты для ./cache и ./cache/css_1.css".

Может быть причина в этом? или нет?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
может быть, CHMOD нужно было расставлять согласно инструкции по установке :D для перезаписи файла в cache папка должна иметь свои 777.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ок. В понедельник я свяжусь с админов, и напишу здесь, что у меня получилось.[1111243407:1111414296]Выставил права 777 на папку forum/cache и файл css_1.css в ней.

Затем зашёл в админку - там появилось это меню.

Выбрал - готово!

Спасибо тебе Dekker. Родина тебя не забудет :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

а кто сталкивался с такой проблемой:

после выставления кеширования CSS файла, у меня на каждой странице стала появляться такая ошибка:

Fatal error: Cannot instantiate non-existent class: skin_global_3 in /home/footquest/public_html/forum/sources/ipsclass.php on line 1398

 

Вернуть старое не знаю где править, так как админка не работает.

 

строка ошибки такая: $this->compiled_templates['skin_global'] = new $skin_global_name();

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.