Куда добавить свой css стиль для отображения в contemplate? [Решено]

Главные вкладки

Аватар пользователя KalanSPb KalanSPb 24 марта 2008 в 22:13

Почитал про мощь CCK + Views, сделал новый тип материалов, создал для него вид, отоброжался некрасиво, сделал шаблон новый, красота, вижу наконец-то html/css и php родные. Подправил кое-что, добавил ссылки imagecache (через одно место правда их добавлял, путь почти полностью руками писал, наверняка переменная или функция есть, но работает и ладно), даже через style стили задал нужные, но коряво, неудобно, идеология css не соблюдается, а главное требование заказчика - весь css во внешних файлах.

Собственно вопрос: в какой файл и в каком каталоге мне нужно поместить .css файл, чтобы он включился в список style@import (ну или link type="text/css") в начале файла (можно, конечно, прямо в contemplate вбить ссылку на стиль, но тоже как-то некрасиво, да и все равно вопрос куда этот файл записать, чтобы все "по правилам" было и возможных в будущем конфликтов имен избежать или просто удаления во время апгрейда, переезда на другой хост и т. п.)

<style type="text/css" media="all">[user=import]import[/user] "/modules/cck/content.css";</style>
<style type="text/css" media="all">[user=import]import[/user] "/modules/node/node.css";</style>
<style type="text/css" media="all">[user=import]import[/user] "/modules/system/defaults.css";</style>
<style type="text/css" media="all">[user=import]import[/user] "/modules/system/system.css";</style>
<style type="text/css" media="all">[user=import]import[/user] "/modules/user/user.css";</style>
<style type="text/css" media="all">[user=import]import[/user] "/modules/cck/fieldgroup.css";</style>
<style type="text/css" media="all">[user=import]import[/user] "/themes/copyblogger/style.css";</style>

именно для этого шаблона, независимо от темы и я мог его использовать внутри contemplate?

Пока о внутренней структуре Drupal слабое представление имею, вполне может быть, что вывод из contemplate идет не на ouput прямо, а в буфер типа ob и надо прямо в шаблоне вызывать что-то из API чтобы вызывался вдобавок нужный мне css, но что-то не нашел ни через встроенный тут поиск, ни через гугл по этому сайту, http://docs.drupal.ru/doc/drupal_api вообще 404 выдает

Комментарии

Аватар пользователя KalanSPb KalanSPb 25 марта 2008 в 7:56

Пришлось, все-таки, лезть на http://drupal.org и с помощью http://translate.google.com искать там. Как и предполагал, есть функция API [url=href=http://api.drupal.org/api/function/drupal_add_css/5]drupal_add_css[/url] Остался открытым вопрос куда сунуть этот файл будет правильно. пока лежит в /sites/all/ Не уверен, что это подходящее место, но хотя бы никто его там не тронет. Да и сам вызов провожу в тексте contemplate, тоже не уверен, что правильно, но работает

Аватар пользователя KalanSPb KalanSPb 25 марта 2008 в 7:57

Что-то читал про возможные глюки с кешированием, пока мне своих хватает, вот перед запуском надо будет разбираться с ним

Аватар пользователя batbug batbug 25 марта 2008 в 12:39

я свой добавлял в *.tpl.php... но этот файл у меня вьюшка создавала..
предлагаю вставить в page.tpl.php - в самое начало. <?php drupal_add_css ***** ?> написать... имхо, должно сработать.

думаю можно еще и в template.php...

а вообще вот щас подумал - скопируй эти свои стили в style.css темы да и не мучайся.

и кстати, css-агрегация еще никому не мешала. у меня заработала с 1 клика. очень удобно. особенно если есть mod_gzip или deflate

Аватар пользователя KalanSPb KalanSPb 25 марта 2008 в 15:28

В будущем возможно так и поступлю, чтобы для каждой темы прописать стили "в тему" Smile Сейчас же задача, чтобы в любой теме более-менее привычно выглядело