Тип материала с шаблоном page.tpl.php, а не node.tpl.php Как создать такой?

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

Аватар пользователя anon anon 29 января 2010 в 16:12

Здравствуйте уважаемые форумчане!
Я новичек и столкнулся с такой проблеммой: при создании нового "типа материала" он использует всегда темплейт node.tpl.php. Мне нужно создать множество типов на основе типа "страница", то есть он не должен выводить массу "лишних" для node полей. Пока решил проблему копированием page.tpl.php в нужный мне тип (node-MY_TYPE.tpl.php в соответствующей теме оформления), однако мне кажется это неправильным.. Да и типов этих будет очень много и постоянно копировать не годится.
Подскажите как быть?
С уважением...

Комментарии

Аватар пользователя gagaga gagaga 29 января 2010 в 16:21

page.tpl.php не отвечает за темизацию Node type "страница". Правильный шаблон для страницы node-page.tpl.php . И не надо в него целиком копировать page.tpl.php. А в остальном, пользуйтесь поиском...

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 29 января 2010 в 16:33

если у вас много типов матеоиала с одинаковым шаблоном, то для них оставьте node.tpl.php а для остальных типов, отличных по шаблону использовать уже node-node_type.tpl.php. таким образом сократите количество шаблонов.
Хотя не понятно зачем плодить одинаковые типы материала.
Может я конечно не совсем правильно понял

Аватар пользователя anon anon 29 января 2010 в 19:18

"gagaga" wrote:
page.tpl.php не отвечает за темизацию Node type "страница". Правильный шаблон для страницы node-page.tpl.php . И не надо в него целиком копировать page.tpl.php. А в остальном, пользуйтесь поиском...

Хм... Возможно я не правильно понял вообще сути. А возможно не правильно выразился..
При создании нового "типа содержимого" и последующей публикации с этим типом, будут присутствовать такие поля как $submitted (и возможно еще что). Однако мне нужно создать пару десятков "типов" аналогичных стандартному "Страница" (page), так как они подходят больше.

"MDinc" wrote:
Используйте subzones или spaces или context

Спасибо. Попробую)

"-OC-[user=drupal wrote:
drupal[/user].org"]если у вас много типов матеоиала с одинаковым шаблоном, то для них оставьте node.tpl.php

Этот темплейт не подходит мне. Мне нужен такой, как page.tpl.php

"-OC-[user=drupal wrote:
drupal[/user].org"]Хотя не понятно зачем плодить одинаковые типы материала.

Для разграничения по доступу к публикациям.

Опять таки, прошу прощения, возможно я просто не туда смотрю (так как новичек). Мне нужно лишь создать с десяток "типов материалов", таких как тип "страница" (page).

Аватар пользователя gagaga gagaga 29 января 2010 в 19:36

"anon" wrote:
Хм... Возможно я не правильно понял вообще сути. А возможно не правильно выразился..
При создании нового "типа содержимого" и последующей публикации с этим типом, будут присутствовать такие поля как $submitted (и возможно еще что). Однако мне нужно создать пару десятков "типов" аналогичных стандартному "Страница" (page), так как они подходят больше.

Вы совсем неправильно поняли. Page в этом название НЕ обозначает тип материала. Почитайте апи и основы темизации.

"anon" wrote:
Для разграничения по доступу к публикациям.
Опять таки, прошу прощения, возможно я просто не туда смотрю (так как новичек). Мне нужно лишь создать с десяток "типов материалов", таких как тип "страница" (page).

Перестаньте повторять, что вы новичОк. Page.tpl.php - это общее оформление Страницы без ноды и комментариев, а не оформление типа ноды! Вам предыдущие авторы дали весьма ценные советы, прислушайтесь к ним или топайте в поиск и api.drupal.ru .

Аватар пользователя direqtor direqtor 29 января 2010 в 20:17

Кое-что настраивается в админке. Если надо убрать $submitted, в настройках темы есть соответствующие галочки для каждого типа материалов.

Шаблон page.tpl.php отвечает за код любой страницы. Её контент выводится через переменную $content. Для любой страницы или группы страниц можно назначить свой отдельный шаблон.

Шаблон node.tpl.php выводит ноду. Причем он комбинированный, отвечает и за вывод полной ноды в контент страницы ($content) и за вывод отдельной ноды в списке.

Остальное читайте в документации.

Аватар пользователя anon anon 29 января 2010 в 20:29

"gagaga" wrote:
Вы совсем неправильно поняли. Page в этом название НЕ обозначает тип материала. Почитайте апи и основы темизации.

Просто я попутал терминологию... В общем уже не важно.
Ок, буду читать. Однако всегда хочется всего и сразу. Второй день как водрузил drupal на портал и люди во всю пишут материал.. Не хочется "костылей" городить, хочется правильное решение сразу.
"gagaga" wrote:
Перестаньте повторять, что вы новичОк.

Хм.., а спеллчекер пропускает, вот беда.
"gagaga" wrote:
Page.tpl.php - это общее оформление Страницы без ноды и комментариев, а не оформление типа ноды! Вам предыдущие авторы дали весьма ценные советы, прислушайтесь к ним или топайте в поиск и api.drupal.ru .

Да, я уже понял. Переделал node.tpl.php "под себя".
Советы предыдущих авторов несомненно ценны, кое-что возможно пригодится мне в дальнейшем (хотя уже и без модулей сделал), однако чересчур функциональны для столь простой задачи.

Всем спасибо за помощь!

Аватар пользователя anon anon 29 января 2010 в 20:34

"direqtor" wrote:
Кое-что настраивается в админке. Если надо убрать $submitted, в настройках темы есть соответствующие галочки для каждого типа материалов.

А вот это я просто проглядел. Огромное спасибо!

"direqtor" wrote:
Шаблон page.tpl.php отвечает за код любой страницы. Её контент выводится через переменную $content. Для любой страницы или группы страниц можно назначить свой отдельный шаблон.
Шаблон node.tpl.php выводит ноду. Причем он комбинированный, отвечает и за вывод полной ноды в контент страницы ($content) и за вывод отдельной ноды в списке.

Просто и понятно. Спасибо!

Аватар пользователя direqtor direqtor 30 января 2010 в 8:16

"anon" wrote:
Однако всегда хочется всего и сразу.

Эт-то точно. Только вот мир, сука, такой неправильный, что так никогда не получается. Biggrin

Аватар пользователя Sadchenko Sadchenko 23 марта 2013 в 16:34

Надо делать темизацию page.tpl.php в зависимости от УРЛ, а к типам материалов прикручивать начальный внутренний путь одинаковые с помощью pathauto