Помогите. Как сделать два материала в различных блоках на странице?

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

Аватар пользователя mailo mailo 2 апреля 2008 в 13:20

Подскажите пожалуйста. По дизайну материал (контент) делиться на два визуально разных блока и находятся они в разных местах. Как это реализовать?
Я вижу такое решение. Создавать два различных материала, и помещать их в свои блоки. Но как определить какой материал будет в каком блоке? Да и вообще как в Drupal можно реализовать больше одного материала сайта на одной странице (в разных блоках)?

Комментарии

Аватар пользователя wiw wiw 2 апреля 2008 в 18:29

Ну навскидку, создаёте два материала, модулем views выводите один материал как блок, делаете с другим материалом тоже самое. Потом в блоках включаете их, настраиваете вывод и все...

Аватар пользователя mailo mailo 2 апреля 2008 в 19:33

Почему такую повседневную задачу (ведь сайтов с контентом в разных областях просто тьма) необходимо решать с помощью доп. модуля. Разве нет другого метода?

Аватар пользователя mailo mailo 2 апреля 2008 в 20:39

Верстку изменить не всегда можно. Да и пользователь, который будет забивать контент, не разбирается в данной науке (к примеру, не будет же он первую часть контента объединять в блок

<div id="cont1"></div>

, а вторую

<div id="cont2"></div>

).
Бред! Решение должно быть. Неужели разработчикам Drupal за 7 лет не пришла в голову мысль, что материал (контент) на странице может быть не один. Почему не добавить инпут с выбором блока публикации при создании материала

Аватар пользователя Natalie Natalie 2 апреля 2008 в 21:17

Имеется в виду, что вы в шаблон вставите сниппеты, которые будут показывать контент по определенным критериям (например, категориям). Редактору ничего делать не нужно. Другой вариант - блоки со сниппетами. Ну а дальше дополнительные модули типа views или panels. Задача на самом деле не такая тривиальная и будет различаться от сайта к сайту, так что одного стандартного решения не существует.

Аватар пользователя flecus flecus 2 апреля 2008 в 21:35

Все правильно, Natalie - спасибо что дополнили )

Сложность Друпала и одновременно его преимущество в том, что он как правило предлагает несколько вариантов решения поставленной задачи.
И задача проектировщика сайта прежде всего состоит в том, чтобы выбрать оптимальный вариант для конкретного проекта.

Аватар пользователя mailo mailo 3 апреля 2008 в 10:35

Поставил модуль views... И как теперь два материала сайта поместить в разные блоки на странице? Извините за тупые вопросы - новичок.

Аватар пользователя player player 3 апреля 2008 в 13:57

Вы сначала сами себе помогите =). Тут уже все сказали. Вам Stalker-g2 советовал модуль, поставьте, разберитесь. Плюс потребуется некая темизация.

Аватар пользователя mailo mailo 4 апреля 2008 в 11:30

Panels тут вообще не подойдет, как я понял он создает отдельные страницы со своей структурой.
Переформулирую задачу. При создании материала ("создать материал" в админке) надо 2 текстовых поля. Одно текстовое поле это поле первого материала (к примеру переменная $content1), второе поле соответственно для второго материала ($content2). В шаблоне эти переменные расставленные в нужные места по верстке

Аватар пользователя mailo mailo 4 апреля 2008 в 13:53

Ответьте по-человечески! Тут все не просто. Модуль content template тоже не подойдет! Он нужен для настройки текущего контента (добавить голосование и т.п.) Мне нужно чтобы при создании материала сайта было не одно поле а два, человек вводил туда инфу, сохранял. А на сайте уже текст из первого поля появлялся в одной части страницы, а из второго в другой. По верстке это должны быть два совершенно разных блока (см. картинку в самом начале).
Просьба не отвечать коротко (так как доэтого) и тех кто в этом не разбирается. Просто я сейчас сума сойду )

Аватар пользователя player player 4 апреля 2008 в 15:02

Quote:
Мне нужно чтобы при создании материала сайта было не одно поле а два, человек вводил туда инфу, сохранял.
CCK
А дальше перечитайте ветку. Тут достаточно советов. Для подробностей используйте поиск.

Аватар пользователя KalanSPb KalanSPb 5 апреля 2008 в 12:32

Самый простой способ решить задачу (вывести один материала с двумя полями) средствами друпала, по-моему:

Ввод:
Создать новый тип Материала
Добавить в него текстовое поле (модуль CCK, text field)
Все, вводить можете

Вывод:
Создаете новое представление для своего материала (модуль Views)
Правите его шаблон разбивая на два "блока" <div id="part_1">....</div><div id="part_2">....</div> (модуль Content Template, разберитесь с ним, он нужен именно для настройки вывода текущего контента, а "добавить голосование" это не настройка вывода контента)

Ну а дальше дело верстки разместить эти блоки так, как нужно по дизайну

Аватар пользователя mailo mailo 5 апреля 2008 в 15:20

Дошел до

<div id="part_1">....</div><div id="part_2">....</div>

Разместить их как по дизайну... А как это сделать? Средствами CSS (position:absolute) - нельзя. Что я сейчас могу делать, так это менять эти блоки местами. А мне надо один из них по верстке далеко засунуть, т.е. между ними может быть еще кучу других блоков и т.п. На картинке в самом начале темы все нарисовано.

Аватар пользователя KalanSPb KalanSPb 5 апреля 2008 в 15:32

А почему CSS нельзя? Просто не получается или требования такие? Ну раз нельзя, значит можно выводить основной текст как обычную страницу, а дополнительное текстовое поле как контексный блок в нужном регионе. Проще всего, наверное, через views/comtemplate это сделать

Аватар пользователя mailo mailo 8 апреля 2008 в 9:44

И все говорят одно и тоже! Блин! Ну помогите разобраться. Поподробнее, пошагово.
А то все пишут: попробуй это и вот это , а можно еще вот это. Причем 90% написавших не до конца поняли задачу и скорее всего сами с такой повседневной задачей и не сталкивались.

Аватар пользователя player player 8 апреля 2008 в 10:26

Тебе тут подсказывают а ты сам для того чтобы разобраться делать ничего не хочешь. Уже стока времени прошло а ты такую элементарщину сделать не можешь

mailo wrote:
Причем 90% написавших не до конца поняли задачу и скорее всего сами с такой повседневной задачей и не сталкивались.
Да конечно, здесь все идиоты и пустословы, у самих никогда такой УНИКАЛЬНИШЕЙ задачи не возникало. А подробно пошагово (после того как сделаешь) опиши все это дело в блоге, чтоб самому не забыть и другим таким материал был.

Аватар пользователя jason32 jason32 8 апреля 2008 в 11:09

блин, пришёл какой-то и давай орать, какие все тупые, друпал неудобныйи воообще всё плохо:
Почему такую повседневную задачу (ведь сайтов с контентом в разных областях просто тьма) необходимо решать с помощью доп. модуля.
Бред! Решение должно быть. Неужели разработчикам Drupal за 7 лет не пришла в голову мысль
Так а почему без дополнительного модуля нельзя реализовать таку ТРИВИАЛЬНУЮ задачу?
Мне здесь кто-нибудь поможет. Пока еще не одного дельного ответа. ((((
Ответьте по-человечески!
И все говорят одно и тоже! Блин! Ну помогите разобраться. Поподробнее, пошагово.

mailo
Здесь вам не саппорт платной CMS и помогать никто не обязан. Хотите орать - идите орать. Хотите получить помощь и разобраться в системе - слушайте ответы и разбиратесь в системе. Хотите ,чтобы вам всё сделали за вас? Такого не будет. Советов для решения была дана масса