АКТУАЛЬНЫЕ ТЕМЫ:
|
|
|
|
|
Автор
|
Тема: Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов) (Просмотрено 872 раз)
|
|
|
нано-оміч
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
# 23 января 2011, 09:36:45
|
Процитировать
|
Собственно, сабж.
Верстаю тему с нуля, опыта мало, поэтому прошу указать на мою ошибку.
Идея такова - content должен выводиться в разные области темы на нескольких типах материалов.
Т.е. в css я описал небольшую область в определённом месте страницы с определённым размером и теперь мне нужно наш content вывести именно туда. Приводу код
CSS
Вот здесь, наряду с обычным content, описана область content_right, которая будет использована на определённом типе материала для вывода контента
body {
margin: 0px;
background-image: url(background.gif);
/* background-repeat: repeat-x; */
}
#container {
width: 950px; /* Ширина слоя */
margin: 0 auto; /* Выравнивание по центру */
background: #ccc; /* Цвет фона левой колонки */
}
#header_vertex {
padding: 0px; /* Отступы вокруг текста */
/*background: #8fa09b; /* Цвет фона шапки */
background-image: url(header.png);
}
#hr_menu {
margin-top: 0px;
/* width: 110px; Ширина слоя */
padding: 0 px; /* Отступы вокруг текста */
background: #ccc;
/* border: 3px solid gray; */
}
#content {
/* margin-left: 130px; Отступ слева */
padding: 0px; /* Поля вокруг текста */
background: #fff; /* Цвет фона правой колонки */
}
#content_right {
position: relative;
left: 400px;
top: 20px;
width: 420px;
height: 580px;
background: #ff5;
border: 2px solid gray;
overflow: auto; |
|
Для теста я не создавал отдельный тип материала, а работал пока только с page.tpl.php
В нём я прописал, что content должен выводиться в content_right, а не в content, как это идёт по дефолту:
<?php<html>
<head>
<title><?php print $head_title;?></title>
<?php print $head; ?>
<?php print $styles; ?>
<?php print $scripts; ?>
</head>
<body>
<div id="container">
</div>
<!-- <div id="content">
<?php print $content?>
</div> -->
<div id="content_right">
<?php print $content?>
</div>
</body>
</html>?> |
|
"div id="content"" тут закомментирован пока, но это сути не меняет - всёравно весь текст выводится посередине страницы? даже если просто удалить закомментированный кусок кода.
Заметил такую вещь, что если в css удалить описание content, а content_right переименовать в content - то всё выведется правильно, но это мне не подходит, потому что мне надо описать несколько областей вывода контента и в дальнейшем использовать разные области (content, content_right, content_left) в разных типах материалов.
Подскажите, где моя ошибка?
|
|
|
|
sergeykro
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #1 23 января 2011, 10:04:06
|
Процитировать
|
Вопрос тут, вроде как, не в друпале, а скорее в вёрстке. Ты б сначала сверстал страницу вообще без CMS, чтобы всё было в таком виде, как ты хочешь.
Я не совсем понял, к сожалению, что тебе нужно. Навскидку могу сказать, лишь то, что мне кажется у тебя подозрительным:
1. Почему #container пустой? По идее все остальные твои блоки должны жить внутри #container
2. В css-ке не закрывается определение #content_right (хотя наверное это произошло в ходе расположения исходника на форуме)
И ещё есть смутное подозрение, что то, что тебе нужно, делается немного по-другому. Но это предварительно.
В общем, после того, как я исправил указанные недочеты, получилось так:
|
|
|
|
нано-оміч
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #2 23 января 2011, 10:12:50
|
Процитировать
|
Да конечно я верстаю без CMS и смотрю что как. Сейчас важная проблема с расположением контента в разных местах страницы, в оканах опрделеённого размера, поэтому как только я сверстал каркас, я пробую к нему подключить друпал и посмотреть как он будет сработать с этим.
1) По идее, но не факт. В одной статье по созданию тем тоже было в таком виде...
2) Ага, верно.
Но вот как оно делается?
По идее, как мне подсказывали, я задаю некий див с его ID и параметрами (размер, положение и т.д.) Это вполне может быть контейнером для контента
Далее, уже в друпаловском темплейте я указываю, что такой то DIV (в моём случае - content_right) должен содержать в себе такие то данные (в моём случае я хочу выводить там content, т.е. основные данные страницы-ноды(текст, картинки и т.д.)
Но вот он в упор не хочет этого делать ,а выводить всё строго посередине. А если удалить Div content, а Dov content_right переименовать в content - он будет выводить данные куда мне надо. Но мне не подходит вариант с переименованием, потому что у меня будет как минимум три разные зоны вывода данных (на разных страницах, естественно)
Вооо, примерно так оно и выглядеть должно. И данные должны выводиться именно в жёлтую область, а они всёравно втупую выводятся посередине, а жёлтая область тупо не отрисовывается, пока не сделаешь вышеописанные действия (с удалением дива контент и переименованием моего дива контент_райт(та самая жёлтая зона)
|
|
|
|
DzhYn
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #3 23 января 2011, 12:07:48
|
Процитировать
|
Жека, где располагаешь сайт? Или пока на локалке верстаешь?
Я просто сейчас тоже верстаю, но делаю это хитро - есть такой ресурс http://www.drupalgardens.com/ так вот там можно собрать сайт (простенький конструктор с основными модулями, немного темплейтов), прописать css (очень удобно - можно для всего сайта в целом, можно для отдельных элементов, и все это в режиме просмотра в риал-тайме), потом это все экспортнуть.
|
|
|
|
sergeykro
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #4 23 января 2011, 12:08:46
|
Процитировать
|
Ну то есть в макете без CMS всё хорошо, а когда натягиваешь его на CMS получается не так, как в макета?
Если да, то, возможно, какие-то траблы в кэшировании шаблона (CMS-ка не подгружает твой шаблон, а берет из кэша, если у него таковой имеется (drupal cовсем не знаю )). Посмотри что творится в исходниках страницы, что выплёвывает друпал.
Если нет, то проблема всё-таки на этапе верстки.
|
|
|
|
нано-оміч
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #5 23 января 2011, 17:59:02
|
Процитировать
|
Жека, где располагаешь сайт? Или пока на локалке верстаешь?
Я просто сейчас тоже верстаю, но делаю это хитро - есть такой ресурс http://www.drupalgardens.com/ так вот там можно собрать сайт (простенький конструктор с основными модулями, немного темплейтов), прописать css (очень удобно - можно для всего сайта в целом, можно для отдельных элементов, и все это в режиме просмотра в риал-тайме), потом это все экспортнуть.
|
| Бегло посмотрел что это, потыкал в кнопки - неплохая вещь, особенно для начинающих Но если надо чтото посложнее - вывод контента в специфичном месте (причём разные в разных типах материалов), то этот сервис не поможет. Спасибо
Ну то есть в макете без CMS всё хорошо, а когда натягиваешь его на CMS получается не так, как в макета?
Если да, то, возможно, какие-то траблы в кэшировании шаблона (CMS-ка не подгружает твой шаблон, а берет из кэша, если у него таковой имеется (drupal cовсем не знаю )). Посмотри что творится в исходниках страницы, что выплёвывает друпал.
Если нет, то проблема всё-таки на этапе верстки.
|
|
Проблема в хуй знает чём, потому что как я отследил - файл page-tpl.php как будто не подцепляется друпалом. css мой подхватился, а темплейт, походу, нет, потому что я захожу на сайт, открываю исходный код и пиздец:
инфа выводится только в Div content и нет никаких упоминаний о Div content_right
Даже если удалить content вообще из page.tpl - он всёравно будет работать и выводить инфу туда, а мой content_right так и не появится. И что интересно - в коде есть регионы, которые я убрал/не создавал - например Footer и Navigation.
Такое чувство, что часть кода (а может и весь page.tpl) берётся из другой темы. И самый пиздец - я удалил абсолютно все темы, кроме своей - та же история, никаких изменений (за исключением естественных - осталась только моя тема в списке)
Чудеса какието.
Кеши друпала чистил довольно часто (бывало и после каждого изменения)
|
|
|
|
Lucky_Ganesh
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #6 23 января 2011, 22:19:19
|
Процитировать
|
Проблема в хуй знает чём, потому что как я отследил - файл page-tpl.php как будто не подцепляется друпалом. css мой подхватился, а темплейт, походу, нет, потому что я захожу на сайт, открываю исходный код и пиздец: |
|
я уже года 2 не возился с темами для друпала, и в последний раз это был пятый друпал, но я щас заглянул в свои файлы и заметил что формат названия щаблонов такой: page.tpl.php
через тире отделяются уже отдельные виды одного класса контента
например дефолтные настрйоки всех блоков лежат в block.tpl.php,
и можно сделать уже block-audio.tpl.php, block-porno.tpl.php и так далее
|
|
|
|
|
нано-оміч
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #8 24 января 2011, 10:13:20
|
Процитировать
|
Дебагер есть? Если есть, пройдись под дебагером и посмотри, почему не цепляется тема. Если нет, то:
1. Могу рассказать, как завести (оч. полезная штука);
2. Друпала у меня нет, но ты можешь запаковать все htdocs и базу и прислать мне, я гляну.
|
| начал уже по другому ебашить. создал простую темку в artisteer, по цветам и размерам таку, какая мне нужна
вроде смог определить этот регион, но только под регионом "содержание". и, получается, теперь надо как то скрыть сам регион содержание (удалять нельзя) и как то на фон дизайновую картинку вставить
|
|
|
|
|
нано-оміч
|
|
Есть тут кто шарит в Друпале? (темизация и написание своих тем-шаблонов)
Ответ #10 24 января 2011, 13:06:44
|
Процитировать
|
Скрывай его посредством css.
.имя_блока { display: none; }
Ну и с картинкой тем же боком помудрить.
|
| Спасиб за совет, попробую.
А вообще, я чтото подумал, что ебал я в губы это всё. Можно по тупому в регионе "Содержание" сверстать это посредством таблиц и жёсткого позиционирования оных
Эти страницы, по идее, будут статичные, поэтому не стоит всё так люто автоматизировать
|
|
|
|
Показать последних комментариев к сообщениям в теме
|
|