Перейти к контенту
  • 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();

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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