Хитрая титульная страница раздела

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

Аватар пользователя Гость Гость (не проверено) 4 декабря 2004 в 15:53

Каким образом на друпале можно реализовать следующее:
для,например, раздела "кино" нужно организовать на его титульной странице вывод статичного,ранее заданного текста, Х заголовков последних статей этого раздела (и подразделов), Y ссылок и Z файлов относящихся к разделу (и подразделам)?

Лучший ответ

Аватар пользователя kiev1 kiev1 25 января 2005 в 20:07

надо-надо
у меня оно уже с phptemplate работает почти - теперь в xtemplate вставить и ок
а что - б в цвс ушло - там на друпале есть

http://drupal.org/node/15854
и
http://drupal.org/node/15837

кто знает английский - пишите туда - потому что я английского не знаю а только со словарем www.translate.ru - поэтому не могу я на них воздействовать, помогите, ато каждый раз с выходом нового друпала прийдется свои правки вносить при обновлении. Причем им мою идею внести просто - у них код даже немного уменьшится потому что в коде они вносят не имя зоны а транслируют 0-лево 1-право - я-же это выкинул и стало все проще, единственное вставил парсер из неск строчек по ламерски написанных - парсящих шаблон текущей темы и находящий в ней имена зон какие вэб-мастер туда внес и выводящих их в админ интерфейс редактирования блоков, посмотрите на код - там все предельно просто.

Комментарии

Аватар пользователя Basielienis Basielienis 5 декабря 2004 в 1:31

модули summary+taxonomy_context

А можно просто сделать отдельный term, в состав которого включить все нужные ноды. Чтобы выводить заголовки разделов - taxonomy_context.

Или сконструировать по адресу. Типа node/1,3,6,7

Аватар пользователя axel axel 11 января 2005 в 1:36

В Drupal страницы очень часто формируются разными модулями - блоки, фильтры и т.п. Ноды разных типов тоже ведь разными модулями формируются. Что именно требуется получить на странице?

--
Axel

Аватар пользователя kiev1 kiev1 11 января 2005 в 12:22

например на странице надо получить сверху блок новостей от node а снизу например две колоночки последние сообщения из форума и во второй произвольное объявление - то есть какую-от страничку из node

Аватар пользователя Basielienis Basielienis 12 января 2005 в 0:57

Вот одно из решений:
Придумать свои собоственные тэги, например [region1], [region2].
Вставлять их, например, в заголовок блока или ноды.
В коде темы проверять наличие строки тэга и соответственно его обрабатывать, например, задавать css id или class для него. И вообще, дальше все обрабатывать темой.
Не самое лучшее решение, но остальное еще сложнее.

Аватар пользователя kiev1 kiev1 18 января 2005 в 23:33

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

<!-- BEGIN: my_new_block -->
   <div class='my_new_block'>{my_new_block}</div>
<!-- END: my_new_block -->

так вот где и как в коде связать вывод моего блока с тегом и переменной my_new_block
а может это прям в директории темы можно его этот файлик с пхп кодом создать? или как? расскажите - это наверное у всех такой вопрос

Аватар пользователя kiev1 kiev1 19 января 2005 в 3:44

Спасибо! Это то что надо, буду думать как приспособоить...
кажется можно так: - делается в названии модуля последних 2 цифры (номер зоны) а в теме они помещаются в нужное место куда хотим, да, а кстати может чем доделывать XTemplate - может есть для друпала другая xtemplate в которой все уже есть, можно конечно все делать и в простой теме без движка но там неудобно дизайнить - надо слеши перед кавычками рисовать, output везде писать - неудобно. что-то в голове витает такое... smarty что-ли?

Аватар пользователя Basielienis Basielienis 19 января 2005 в 7:23

> делается в названии модуля последних 2 цифры
В названии модуля или блока?
Красивее будет все-таки использовать тэги типа [zone_номерзоны] в названии заголовка, а не привязываться жестко к заголовку блока.
Для phptemplate я такое делал, но не доделал, там это совсем просто.

smarty для drupal есть вроде в cvs, но она не так хорошо поддерживается, как xtemplate и phptemplate.

Аватар пользователя kiev1 kiev1 19 января 2005 в 14:56

в админ меню в настройках модуля уже есть зона и она там есть только ее подправить надо - там выбор кнопочкой лево-право а надо сделать ввод двух символов - цифры региона - я только не пойму как XTemplate определяет блок левый-правый - при выводе блока там просто пишется - block - она что смотрит - помещен-ли он в хеадер или в футер? это неправильно надо четко указывать block:L block:R block:77 - где после двоеточия код зоны - вот так правильно будет. как это реализовать, давайте подумаем, или надо эту идею передать разработчикам и пусть сделают и в cvs выложат поскорее. А используя шаблон пути - это будет универсальный механизм на все случаи жизни. а может уже это сделано?

Аватар пользователя kiev1 kiev1 19 января 2005 в 23:11

скажите - а когда сделают и в стандартный drupal вставят? а уже начали или мне свою голову ломать? это-же ведь всем надо, а может оно уже сделано и просто раскомментировать где-то надо? я так понимаю надо подправить block.module и еще что-то - вот только что?

скачал друпал из цвс - свеженький - а там этого еще нет :((( - пути понятно как к блокам делать - переделали под список стараниц - это удобно, хотя перечислять все страницы в столбик, регексп лучше, да - а как позиционировать блок в произвольном месте дизайна - увы, только слева-справа, но ведь во всех уважающих себя CMS есть такое понятие "зона" "регион" - это-же так очевидно... почему тут только слева-справа?...

Аватар пользователя arsart arsart 20 января 2005 в 0:20

С помощью Axel и Baselienis сделал несколько регионов (topleft, topright, lef, right) и описал для них отдельные классы в css.
Для этого пришлось хакать block.module на предмет вставления новых регионов и их числовых значений для mysql. Потом в настройках блоков появились дополнительные чекбоксы. Главное - надо описать расположение новых регионов в движке (phptemplate в моем случае).
Результат см. в профайле. (На сайте регионы topleft&topright заняты двумя формочками и двумя блочками для развлечения читателей).

Аватар пользователя Basielienis Basielienis 20 января 2005 в 0:53

На drupal.org это обсуждается, но нужна четкая концепция, понятность для простого пользователя, разделение дизайна и контента... В общем, задачи массового релиза не так просты, как понятный-и-нужный-только-мне-хак.
В порядке убываня сложности:
1. Хакнуть модуль block, добавив в него дополнительные регионы помимо left и right
2. Использовать тэги, как я предлагал выше
3. Использовать двухколоночный дизайн, а блоки третьей колонки кастомизировать в теме по-своему, если надо - используя regexp для размещения блоков на разных страницах.

Аватар пользователя kiev1 kiev1 20 января 2005 в 2:48

>На drupal.org это обсуждается
так что-ж там обсуждать - взять да сделать и все тут - это-же первое чего в друпале не хватает
а концепцию особенно и выдумывать не надо - друпал правильная и логичная система - первое это то что не должно появлятся в коде ничего сложного лишнего и того что надо запоминать.

хакнуть блоск это да, но не добавляя ничего нового - это самая и есть концепция - ничего нового а только чуть-чуть подкорректировать, но раз вы уверены что в нем этого точно еще нет, значит надо немного подумать и сделать, это хорошо что нет потому что обидно делать-делать, дописывать-дописывать, а потом увидеть что все оно уже сделано было, так вот - если плодить новые переменные-условия и тд, - новые теги-регионы, их запоминать, то можно запутатся - делаем так - хакаем модуль block - но так что-бы он сам считывал из текущей темы все новые теги групп блоков, которые дизайнер наделал и вместо радиобутонов в конфиге блоков лево-право делаем выпадающий список а в нем их показываем, - то есть речь о том что-бы уменьшить количество движения мышкой для изменения и добавления дизайна и что-бы оно наглядно было, нарисовал тег - а система его уже сама видит, да, так вот буду я пытатся это все ковырять но программировать не особенно умею и вообще друпал узнал несколько дней как Sad

Аватар пользователя kiev1 kiev1 21 января 2005 в 14:35

http://kiev1.org/download/block_module.zip (это постоянный адрес, сам файл постоянно обновляется)
только оно работает пока только с обычными темами, не использующую teme engine - использовать так (там пример темы есть) - по подобию как было
$leftblocks = theme("blocks", "left");
$rightblocks = theme("blocks", "right");
но в произвольном виде
$yyy=theme("blocks","где_угодно_1");
$zzz=theme("blocks","например_тут");
$nnn=theme("blocks","и_тут_можно");
$mmm=theme("blocks","или_тут_можно");
переменные потом выводить где нужно в дизайне поместить группу блоков, так как они выводились раньше только по признаку слева-справа, теперь где угодно и сколько угодно, а измененный модуль block сам парсит файл шаблона тем на предмет новых таких зон и в админ-панели блоков показывает выпадающим списком вместо радиобутон все что нашел в текущей теме и блок можно помещать в произвольную зону а не в left-right (вообще это начальный вариант потом доделывать буду что-б с theme engine работал) кстати а какая функция в drupal выдает абсолютный путь к директории сайта?
ау - тут есть кто живой?

Аватар пользователя kiev1 kiev1 25 января 2005 в 20:07

надо-надо
у меня оно уже с phptemplate работает почти - теперь в xtemplate вставить и ок
а что - б в цвс ушло - там на друпале есть

http://drupal.org/node/15854
и
http://drupal.org/node/15837

кто знает английский - пишите туда - потому что я английского не знаю а только со словарем www.translate.ru - поэтому не могу я на них воздействовать, помогите, ато каждый раз с выходом нового друпала прийдется свои правки вносить при обновлении. Причем им мою идею внести просто - у них код даже немного уменьшится потому что в коде они вносят не имя зоны а транслируют 0-лево 1-право - я-же это выкинул и стало все проще, единственное вставил парсер из неск строчек по ламерски написанных - парсящих шаблон текущей темы и находящий в ней имена зон какие вэб-мастер туда внес и выводящих их в админ интерфейс редактирования блоков, посмотрите на код - там все предельно просто.

Аватар пользователя kiev1 kiev1 27 января 2005 в 23:10

>обидно делать-делать, дописывать-дописывать, а потом увидеть что все оно уже сделано было

Ну вот, что мне приписали на друпал-орг

Status: active » duplicate

делали они такое, Sad одно радует что мое я сделал сам и оно проще простого а у них сложновато и видимо оно поэтому не пошло в CVS а делали еще давно...