Drupal 7 - Разделение контента - PullRequest
2 голосов
/ 27 июля 2011

Я очень новичок в Drupal, так что я надеюсь, что это легко.

Мне дали шаблон для вырезания и импорта в Drupal 7.

Я хочу, чтобы пользователь добавилстолько изображений, сколько они хотят для каждой конкретной страницы, поэтому я включил неограниченное количество полей изображения в «управлении отображением» в типе контента «Основная страница».

Пока это идеально, это позволяет им выбиратькуча изображений, которые они хотят прикрепить к странице.

Часть, с которой у меня возникают проблемы, заключается в том, что при просмотре страницы она отображается вместе с содержимым тела.

Шаблон, который у меня есть, помещает изображения в самый верх HTML, а содержимое тела - в нижнюю часть HTML.

Я использую

<?php print render($page['content']); ?>

в моем файле page.tpl.php.

Есть ли способ развернуть дальше, чтобы он отображал только «тело» в одной части шаблона, а затем цикл для отображения изображений в другой части шаблона?

Любойпомощь была бы велика, я боролся за эточасов сейчас.

Ура,

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Я в основном работаю с Drupal 6 и лично не тестировал Contemplate в Drupal 7, но, надеюсь, я могу дать вам несколько идей о том, с чего начать.

Изображения являются частью содержимого узла и, конечно же,как вы узнали, вы не получаете никакого контроля, просто печатая $page['content'] в теме.Самое сложное в детализации - это найти правильные имена для всего, поэтому решение, которое мы всегда использовали для решения вашей проблемы в Drupal 6, - это Созерцательный модуль .

Созерцайте «Шаблон содержимого» и помогает вам решить эту проблему, предоставляя вам имена полей, которые вы ищете, и пример узла с данными, чтобы вы могли просмотреть его и получить представление о том, каквыбрать и выбрать правильные имена.Затем он позволяет сохранить ваш шаблон и использовать его при рендеринге содержимого узла.

Похоже, что Contemplate доступен в Drupal 7, текущая версия 7.x-1.0-alpha2.В Drupal 6 созерцание отлично сработало для нас, так что, вероятно, стоит попробовать в Drupal 7.

1 голос
/ 03 августа 2011

Да D7 делает это легко:

<?php print render($content['body']); ?>

и для любого поля:

<?php print render($content['field_my_field_name']); ?>

обратите внимание, что вы делаете это в файле node.tpl.php, а не page.tpl.php

...