it-swarm.asia

إزالة divs المضافة بواسطة تقديم و node.tpl.php

أحاول إنشاء نموذج 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">

لا اريد اي من هذه الاقسام. كيف يمكنني التخلص منها؟

15
Jack McKenzie

تأتي معرفات 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 الخاصة بك. واسمحوا لي أن أعرف إذا كان يعمل للكم.

17
15dk51