Установить на главную список аноносв

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

Аватар пользователя lexnext lexnext 28 июля 2008 в 0:44

Доброго всем времени!
Необходимо, чтобы главная выглядела, как некоторый список анонсов
Что из себя представляет каждый ананос: Заголовок, краткое описание, и ссылка "Читать далее" (при нажатии открывается уже "полная" страница)
Первый вопрос: есть ли такой готовый модуль? потому как стандартными друпаловскими средствами добавления контента на главную происходит глюк - если в текст добавлены картинки, они валазиют прямо на главную...
Второй вопрос: собираюсь использовать тему bluemarine и чтобы мне установить этот модуль на главную страницу мне необходимо править эту "тему", или есть более гуманный способ.
Заранее спасибо!

Комментарии

Аватар пользователя glu2006 glu2006 28 июля 2008 в 10:27

Первый вопрос: есть ли такой готовый модуль? - view -для вывода любых типов контента и темизация (темизировать можно все) включая анонсы и их вывод.

друпаловскими средствами добавления контента на главную происходит глюк - если в текст добавлены картинки, они валазиют прямо на главную - а куда они должны вылазить? если вы прописали в поле body код вывода картинки. сделайте картинку отдельным полем и с помощью все того-же view и темизации вставляйте ее куда Вам собственно необходимо.

Второй вопрос: - тему править Вам собственно и придется, см. выше )).

Аватар пользователя Geldora Geldora 28 июля 2008 в 11:10

Самое простое - не вставляйте картинки Wink Тогда все будет, как вам хочется.
Другой вариант - в node.tpl.php нужно поправить вывод анонсов. Обычно, картинка выводится как в анонсе, так и в полном виде, вам нужно поставить условие, чтобы не выводилась в анонсе.

Аватар пользователя Sergey1917 Sergey1917 28 июля 2008 в 11:17

Непонятно - зачем для такой обычной и стандартной для друпала цели нужен отдельный модуль. При создании материала ставите "опубликовать на главную", а в самом материале ставите тег "конец анонса" !--break-- (в угловых скобках), чтобы самому регулировать длину анонса. Если в материале есть картинки и вы не хотите их видеть на главной, то ставте их после тега "конец анонса". В любой момент и в любом материале можете отключить функцию "показывать на главной" (например, материал устарел).

Аватар пользователя lexnext lexnext 28 июля 2008 в 14:30

Ребята, спасибо за ответы!
Вообщем, что я попробовал:
конечно для начала самое простое (по совету Sergey1917) - это !--break-- в угловых скобках... помогло, втом случае если я перевожу редактирование в нативный код, и правлю сам HTML (а изначально у меня стоит FCKeditor) да и пользователю (предполагается, что он ничего не знает про тэги) будет испытвать некоторы дискомфорт при вставке непонятных ему символов...

Далее обратил внимание на редактирование самой темы - а точнее node.tpl.php...
Насколько я понимаю мне нужна вот эта строка:

<?php print $content?>

Т.е. мне нужно пропарсить эту переменную на наличие тэгов img их у брать на главной, либо есть более лёггкий путь?
Geldora, Вы говорили, что можно как то поставить условие на наличие картинки, если Вас не затруднит, можно показать небольшой пример?

Аватар пользователя glu2006 glu2006 28 июля 2008 в 17:04

Уcловие на наличие картинки ставится только если она идет отдельным филдом, а если она прописана в поле кодом, то надо писать функцию которая будет эти теги из текстового поля вырезать.
Еще про плюсы делания картинки отдельным полем )) :
1. Пользователю точно не надо знать ни про какие теги хтмл, нажал кнопку обзор, указал путь до картинки и забыл.
2. Вы сможете обрабатывать данную картинку (поставить на нее водяной знак, уменьшить или увеличить в размерах и т.д.)
3. Применять к ее отображению различные обработчики типа LightBox.

Длина анонса регулируется не только брейком, она так-же задается в настройках сайта (раздел "Публикация").
так же ее можно задавать в коде при темизации того или иного типа материала.

В результате вы избавляете себя и пользователей сайта от объяснений типа "ОБЯЗАТЕЛЬНО Ставьте картинку ТОЛЬКО после тега "брейк" )))"

Аватар пользователя lexnext lexnext 28 июля 2008 в 20:14

glu2006, так хорошо, из готовых подобных инструментов я вижу только модуль Upload, который просто приерепляте любой файл... я не думаю, что он как подходит для этой цели...
Т.е. ещё раз, как я понимаю задачу: редактируется страничка с помощью отдельных полей загружаются нужные для пользователя картинки, тем самым формируя для этой страницы некоторый массив переменных, содрежащих описание каждой картинки...
Далее в теме я вставляю следующий код:

if(это_главная_страница)
{
while(есть_анонсы) //тут проверяю каждый анонс, т.е. его всё его содрежание на на наличие в нём картинок
{
if(анонс->массив_картинок!=пуст)
{
не отображать картинки
}

}
}
во как загнул.... и даже если моя логика правильна, как это реализовать с помощью API Друпала ?

P.S.: пошёл я рыскать в мануалах пока. Но и очень рассичтваю на ваши дальнейшие советы...

Аватар пользователя glu2006 glu2006 29 июля 2008 в 11:22

Не нужен Вам модуль аплоад есть модули imagefield, imagecache, image так вот:
imagefield - позволяет добавлять картинку к вашему типу материалов (настраивается максимальное разрешение, максимальный размер, расширение), ССК филдами можно управлять, т.е. вы можете задать ему свойство показываться в анонсе или нет, аналогично и в конечной ноде, можно так-же задать обработчик быть ссылкой на ноду или нет и т.д.
imagecache - позволяет прописывать обработчики действий над картинками (масштабировать, обрезать и т.д. в последней версии поддерживается написание собственных обработчиков).

Потом вы начинаете пользовать модуль view:
1. Создаете вид для вашего типа материалов, указываете ему какие типы материалов выводить, по сколько на страницу, адрес по которому этот сборник анонсов материал будет доступен, и тип вывода (список, таблица, список анонсов и т.д.).
2. если пользуете список анонсов то привести его к желаемому виду позволит примерно такой код:

скопируйте node.tpl.php из вашей темы со след именем - node-тип материала к которому хотите применить темизацию.tpl.php
в нем вверху пишите:

<?php if($teaser) { ?>
      ..... список филдов на вывод (надо дебажить переменную $node) (рекомендую поставить модуль devel)
<? } else { ?>
     ...... список филдов выводимых для полной ноды (можно оставить код из файла node.tpl.php)
<? } ?>

ну как-то примерно так )).
возможно есть и другие решения, но я реализую это именно таким образом.

Аватар пользователя yola yola 29 июля 2008 в 12:13

я создавала новый тип материала + с помощью вьюсов вывела список. И все.
Правда вот думаю счас как анонсы привязать к разделам сайта.

Аватар пользователя Владимир Ситников Владимир Ситников 29 июля 2008 в 12:48

Выскажусь против идеи Smile
Анонсы с картинками – это огромный плюс!
Так же как и статьи с картинками. Выводить голый текст без картинок умеет любая система, а вот хорошей работой с картинками может похвастаться далеко не каждая.
Просите ваших пользователей добавлять картинки, выводите анонсы с картинками и привлекательность, а значит и читаемость ваших материалов возрастет!
По моим прикидкам добавление 5 фотографий в статью (более - менее подобранных к теме статьи) увеличивает привлекательность статьи в 1,5 раза.

Аватар пользователя glu2006 glu2006 29 июля 2008 в 13:41

Никто еще не запрещал расставлять дивы как вам того захочется )) пусть будет хоть 10 картинок, минусы картинки вставленной в текст анонса (т.е. в код или визи редактором):
1. разноформатность (хорошо если статьи вводит админ и он перед размещением картинки на сайт обрабатывает ее фотошопом или чем иным, а если это рядовой пользователь сайта добавляет свою новость или пост??? ему надо объяснить что для красоты отображаемой инфы картинке должна быть такой-то и такой-то. и вообще чем меньше пользователя напрягает соблюдение каких либо правил по вводу инфы тем лучше).
2. допустим случайно картинку стерли (что мы увидим при выводе картинки кодом из боди? пустой квадрат заданных размеров картинки (не проверял - чисто гипотетическое предположение), а филд просто не отобразится (если не указывать в выводе доп. параметров) ).
3. захламляемость лишними данными таблицы node_revisions. гораздо удобнее хранить данные по картинкам в отдельной таблице (когда на сайте будет много материала вы это почуствуете).
4. Зачем в анонсе статьи 5 фоток, достаточно 1-й, а уж в полной статье никто не мешает развернутся причем отдельный филд для картинок всегда удобнее, смотрите в перспективу )) завтра Вам захочется собрать фотки из статьи или статей в галлерею ???? как вам задача?? выдирать код из боди будете или гораздо проще поработать запросами с таблицей которая отдельно
ну и так далее )))