I’m new to Drupal theming and am attempting to create a custom theme template for a specific content type I have.
I am attempting the following:
<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>
However, when the content actually render the address portion gets booted out of its parent div and looks like this:
<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: </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> <span class="state">Ontario</span> <span class="postal-code">N6C 1N3</span></div><span class="country">Canada</span></div></div></div>
I can’t figure out why this is happening or what the solution is to keep the address within the div I manually created.
Thoughts?
The only possible way this could happen is if you’ve got a custom or contributed module intercepting your template file and changing it, or if you have some javascript enabled that’s moving the
<div>out of it’s container. Drupal does absolutely no re-ordering of content when it processes a template file so it can’t be anything in Drupal core that’s causing the problem.If the
<div>is just displaying outside the container (i.e. it’s inside when you inspect the source code) then you’re probably just facing a floating issue; just add theclearfixclass to the containing element.EDIT
Just a thought, have you cleared your cache since you added the template file? If not, do that, it won’t be picked up until the caches are cleared.
Also if this is a custom node template (i.e. node–page.tpl.php), make sure you’ve also copied node.tpl.php to your theme’s folder. Then clear your cache again.