أحاول إنشاء نموذج HTML5 من أجل Drupal 7 ، وأنا مهتم بشكل خاص بالشفرة النظيفة. أريد التحكم الكامل في HTML و CSS التي أحصل على معظمها باستخدام السمة المخصصة الخاصة. وبعبارة أخرى لدي مجموعة HTML5 و CSS أريد استخدامها تمامًا كما هو الحال في دروبال. لست على دراية تامة بكيفية عمل وظيفة ما قبل المعالجة بأكملها.
عندما أستخدم "عرض الطباعة ($ page ['content']) '' في ملف page.tpl.php ، فإنه يضيف
<div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="content">
وبعد ذلك عندما أضيف "طباعة عرض (محتوى $)" في العقدة - يضيف custom.tpl.php
<div class="field field-name-body field-type-text-with-summary field-label-hidden">
<div class="field-items">
<div class="field-item even" property="content:encoded">
لا اريد اي من هذه الاقسام. كيف يمكنني التخلص منها؟
تأتي معرفات div والفئات التي تراها داخل $ page ['content'] من region.tpl.php> block.tpl.php> node.tpl.php Drupal يمر عبر ملفات القالب هذه ، تضيف كل خطوة بعض divs.
يحتوي ملف region.tpl.php على الكود كما يلي
<?php if ($content): ?>
<div class="<?php print $classes; ?>">
<?php print $content; ?>
</div>
<?php endif; ?>
الآن إذا قمت بإجراء تغييرات في هذا الملف ، فسيؤثر ذلك على جميع مناطق صفحتك. إذا كنت تريد التحكم في منطقة المحتوى فقط ، فقم بإنشاء اسم ملف جديد لمنطقته - content.tpl.php في هذا الملف ، قم بلصق فقط
<?php if ($content): ?>
<?php print $content; ?>
<?php endif; ?>
سيؤدي ذلك إلى التخلص من div الذي تم إنشاؤه لمنطقة المحتوى فقط.
قم بعمل نسخة (إذا قمنا بإجراء تغييرات في block.tpl.php سيتم تنفيذ جميع الكتل) من block.tpl.php وقم بتسميتها block - content.tpl.php وقم بإزالة أو تغيير divs. بدون divs ، سيحتوي الملف على الكود التالي لإخراج المحتوى.
<?php print render($title_prefix); ?>
<?php if ($block->subject): ?>
<h2 class="block-title"<?php print $title_attributes; ?>><?php print $block->subject ?></h2>
<?php endif;?>
<?php print render($title_suffix); ?>
<?php print $content; ?>
سيؤدي ذلك إلى التخلص من div الذي تم إنشاؤه بواسطة bock.tpl.php
الآن قم بتحرير ملف node.tpl.php لإزالة أو تغيير divs. بدون divs ، سيحتوي الملف على الكود التالي لإخراج المحتوى. > ">
<?php print $user_picture; ?>
<?php if ($display_submitted): ?>
<span class="submitted"><?php print $date; ?> — <?php print $name; ?></span>
<?php endif; ?>
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print render($content);
?>
<?php if (!empty($content['links']['terms'])): ?>
<?php print render($content['links']['terms']); ?>
<?php endif;?>
<?php if (!empty($content['links'])): ?>
<?php print render($content['links']); ?>
<?php endif; ?>
<?php print render($content['comments']); ?>
هذا سوف يتخلص من جميع الأقسام والطبقات. الآن يمكنك لف المحتوى مع divs الخاصة بك. واسمحوا لي أن أعرف إذا كان يعمل للكم.