Drupal render () закрывает другие div'ы? - PullRequest
1 голос
/ 22 сентября 2011

Я новичок в теме Drupal и пытаюсь создать собственный шаблон темы для определенного типа контента.

Я пытаюсь сделать следующее:

<div<?php print $content_attributes; ?>>


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

    <div class="field-label-above property-information">
        <div class="field-label">Property Information</div>
        <?php print render($content['address']); ?>

    </div>

</div>

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

<div class="field-label-above property-information">
    <div class="field-label">Property Information</div>

</div>
<div class="field field-name-field-property-address field-type-addressfield field-label-inline clearfix"><div class="field-label">Address:&nbsp;</div><div class="field-items"><div class="field-item even"><div class="street-block"><div class="thoroughfare">55 Duchess Ave</div></div><div class="addressfield-container-inline locality-block"><span class="locality">London</span>&nbsp;&nbsp;<span class="state">Ontario</span>&nbsp;&nbsp;<span class="postal-code">N6C 1N3</span></div><span class="country">Canada</span></div></div></div>

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

Мысли

1 Ответ

1 голос
/ 23 сентября 2011

Единственный возможный способ, которым это может произойти, - это если у вас есть пользовательский или добавленный модуль, перехватывающий файл шаблона и изменяющий его, или если у вас включен некоторый JavaScript, который перемещает <div> из его контейнера. Drupal абсолютно не переупорядочивает содержимое при обработке файла шаблона, поэтому в ядре Drupal не может быть ничего, что могло бы вызвать проблему.

Если <div> просто отображается вне контейнера (т. Е. Внутри, когда вы проверяете исходный код), то вы, вероятно, просто сталкиваетесь с плавающей проблемой; просто добавьте класс clearfix к содержащему элементу.

EDIT

Просто мысль, очистили ли вы кеш с тех пор, как добавили файл шаблона? Если нет, сделайте это, он не будет поднят до тех пор, пока не будут очищены кэши.

Также, если это пользовательский шаблон узла (то есть узел - page.tpl.php), убедитесь, что вы также скопировали node.tpl.php в папку своей темы. Затем снова очистите кеш.

...