Перечитав кучу мануалов решил сделать собственную тему под друпал, так как искать подходящие, переделывать всю графику и копаться в чужом коде не очень то хочется. Сделал *theme*.info, где прописал регионы, цсс и обозначил движок phptemplate. template.php сделал и оставил пустым, так как в пхп не силён и всю логику я бы не осилил, а брать из других тем и копипастить то, что не до конца понимаю, заменяя названия в функциях на свои, я не стал. Сделал шаблон page.tpl.php... всё отображается, как я и хочу. Косяки исправляю методом научного тыка на локалхосте (кеш отключил, но после каждого внесения изменений в цсс или **.tpl.php всё равно его очищаю)Появилась потребность изменить вид комментариев, для чего я взял шаблон comment.tpl.php из "гирлянды" и закинул в корень своей темы. В шаблоне классы дивов заменил на свои и прописал их в своём файле цсс (он у меня 1 на всю тему) но на сайте я этих изменений не вижу, хотя шаблон по идее работает, так как я в нём убирал титл коментов и он перестал отображаться... но таблица стилей к нему не цепляется... Вопрос: где я накосячил? И как сделать, чтоб всё работало? )))) Если по можете разобраться с этим, то думаю по аналогии разберусь с остальными кастомными шаблонами)))
Комментарии
Если работает сам шаблон и подгружаются для него стили то это ошибка уже не в drupal, а в верстке. Или я не совсем правильно вас понял.
Garland специфически кэширует свои CSS и шаблоны - это как бы факт, который нужно знать. ("Гирлянда" - это garland, я правильно понял?)
Лучше возьмите тему Framework за основу (http://drupal.org/project/framework). Пусть не так красиво как Garland, зато легко поддаётся модификации. Практически - чистый каркас, заготовка.
Не пойму:
1)
Это зачем вы HTML пытаетесь выести как PHP-код?
Тогда уж так:
<?php
print '<div class="свой_класс">пхп принт то, что мне надо</div>';
?>
2) ЧТО ТАКОЕ "ГИРЛЯНДА" (таки)?
атрибут border должет задаваться полностью, типа: border: 3px outset green;
атрибут background должет задаваться полностью, типа: background: #fff url("bg.jpg") repeat-x center top;
Вообще-то, любые проблемы с css решаются на 100% по простому алгоритму:
Хотя я обычно начинаю проверку с конца. Но иногда приходится проходить этот список полностью.
К слову, использовать знак подчеркивания в селекторе "_" некорректно, в спецификации указан только "-". Но проблема, точно не в этом.
Ну вот вам и первая ошибка (как я и писал выше):
<?php<div class="comment_zone">
......
</div>?>
Вы пытаетесь HTML (DIV'ы и всё остальное внутри) интерпретировать как код PHP.
Уберите
<?php .... ?>
в начале и в конце этого фрагмента.Пункт 2 или пункт 5.
Ты в drupal'е кэширование css отключил на время разработки, или перед проверкой кэш чистишь?
В firebug в табе CSS показываются все загруженные CSS файлы. Выбираешь там свой файл и убеждаешься, что там есть нужный селектор.
Если селектор есть, а браузер его не видит, то 100% ошибка в коде. Или точку в начале селекора пропустил или, например, предыдущее css правило написано с ошибкой, без "}" и эта ошибка распространяется на то правило, с которым ты пытаешься разобраться.
Или перепутал буквы в названии местами, или случайно русскую "С" набрал в имени селектора...
У него по идее вообще этот фрагмент не должен выводиться - учитывая ошибку в PHP, про которую я писал выше.
да это похоже здесь так коряво работает "расскраска" кода, вставляет открывющий и закрывающий php-теги, когда указано code=php.
Хм... вроде не встречал такого ранее. Ну-ка проверим:
<?php
// а это PHP-код всех времён и народов
print phpinfo();
?>
PS. Лол, да, так и есть.
Впервые обратил внимание.
По сабжу:
1) откройте исходный код и убедитесь, что CSS-файл вообще цепляется.
2) там же - в исходном коде - убедитесь, что к нужным div'ам точно привязан класс (ну а вдруг?).
3) очистите кэш браузера.
Посмотрел страницу - класс comment_zone в div'е есть, в CSS его определение - тоже.
Остаётся то, о чём писал v1adimir@drupal.org. То есть - указать полностью все свойства border.
Ну и ещё убедиться, что не вставили случайно русские буквы в название класса (ну, например, "а" или "о").
Кэш чистил на странице http://avtorclub.ru/admin/settings/performance ??? По кнопке "Clear cached data" ?
У тебя похоже там жесткое кэширование работает, может даже не у друпала, а у хостера. Если запрашиваю по адресу http://avtorclub.ru/sites/all/themes/notebook/css/style.css То там есть нужное правило, а вместе со страницей отдеется, что-то не то.
Странно. У меня отдаётся именно это.
<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/notebook/css/style.css?Y" />
Это из FF.
Лол.
Товарищ, удалите, пожалуйста лишнюю скобку (перед .comment_zone)!
font-size: 100%;
}
}
.comment_zone {
border: 3px;
border-style: outset;
width: 100%;
padding: 10px;
background:#fff;
}
Ну может у хостера, стоит принудительный обратный прокси, вот оно и не дает обновлять кэш.
vladimir@funny: telnet avtorclub.ru 80
Trying 91.218.229.13...
Connected to avtorclub.ru.
Escape character is '^]'.
HEAD /sites/all/themes/notebook/css/style.css?Y HTTP/1.1
HOST: avtorclub.ru
HTTP/1.1 200 OK
Date: Mon, 09 May 2011 23:10:31 GMT
Server: LiteSpeed
Accept-Ranges: bytes
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
ETag: "1591-4dc87423-cfa80c4"
Last-Modified: Mon, 09 May 2011 23:09:23 GMT
Content-Type: text/css
Content-Length: 5521
Cache-Control: max-age=604800
Expires: Mon, 16 May 2011 23:10:31 GMT
Connection closed by foreign host.