it-swarm-id.com

Menghapus div yang ditambahkan oleh render dan node.tpl.php

Saya mencoba membangun templat HTML5 untuk Drupal 7, dan saya cukup khusus tentang kode bersih. Saya ingin kontrol penuh atas HTML dan CSS yang sebagian besar saya dapatkan dengan menggunakan tema khusus sendiri. Dengan kata lain saya memiliki HTML5 dan CSS yang ingin saya gunakan persis seperti di Drupal. Saya tidak terlalu mengerti bagaimana seluruh fungsi fungsi pra-proses bekerja.

Ketika saya menggunakan 'print render ($ page [' content '])' di file page.tpl.php saya menambahkan

<div class="region region-content"> 
    <div id="block-system-main" class="block block-system"> 
        <div class="content">

Dan kemudian ketika saya menambahkan 'print render ($ content)' di node - custom.tpl.php ia menambahkan

<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">

Saya tidak ingin ada div ini. Bagaimana cara saya menyingkirkan mereka?

15
Jack McKenzie

Id div dan kelas yang Anda lihat di dalam $ page ['content'] berasal dari region.tpl.php> block.tpl.php> node.tpl.php Drupal konten melewati file template ini , setiap langkah menambahkan beberapa div.

  • Langkah Satu

file region.tpl.php berisi kode sebagai berikut

       <?php if ($content): ?>
  <div class="<?php print $classes; ?>">
    <?php print $content; ?>
  </div>
<?php endif; ?>

sekarang jika Anda membuat perubahan pada file ini, itu akan mempengaruhi semua wilayah halaman Anda. Jika Anda hanya ingin mengontrol area konten, buat nama file baru untuk wilayah itu - content.tpl.php di dalam tempel file saja

<?php if ($content): ?>

    <?php print $content; ?>

<?php endif; ?>

Ini akan menghilangkan div yang dibuat hanya untuk wilayah konten.

  • Langkah Dua

Buat salinan (jika kita membuat perubahan di block.tpl.php semua blok akan terpengaruh) dari block.tpl.php dan beri nama itu blok - content.tpl.php dan hapus atau ubah div. Tanpa divs file akan berisi kode berikut untuk menampilkan konten.

<?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; ?>

Ini akan menghilangkan div yang dibuat oleh bock.tpl.php

  • Langkah Tiga

Sekarang edit file node.tpl.php untuk menghapus atau mengubah divs. Tanpa divs file akan berisi kode berikut untuk menampilkan konten. > ">

    <?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']); ?>

Ini akan menghilangkan semua div dan kelas. Sekarang Anda dapat membungkus konten dengan div Anda sendiri. Tolong beri tahu saya jika itu berhasil untuk Anda.

17
15dk51