web-gelistirme-sc.com

Render ve node.tpl.php tarafından eklenen div'ları kaldırma

Drupal 7 için bir HTML5 şablonu oluşturmaya çalışıyorum ve temiz kod konusunda oldukça titizim. HTML ve CSS üzerinde tam kontrol istiyorum. Başka bir deyişle, tam olarak Drupal'da olduğu gibi kullanmak istediğim bir HTML5 ve CSS setim var.Tüm işlem öncesi fonksiyonunun nasıl çalıştığı konusunda çok fazla bilgim yok.

Page.tpl.php dosyamda 'print render ($ page [' content '])' kullandığımda

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

Ve sonra - custom.tpl.php - düğümüne 'print render ($ content)' eklediğimde

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

Bu div'lerin hiçbirini istemiyorum. Onlardan nasıl kurtulurum?

15
Jack McKenzie

$ Page ['content'] içinde gördüğünüz div kimlikleri ve sınıfları region.tpl.php> block.tpl.php> node.tpl.php Drupal içeriği bu şablon dosyalarından geçer , her adımda bazı div değerleri eklenir.

  • Birinci Adım

region.tpl.php dosyası kodu aşağıdaki gibi içerir

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

şimdi bu dosyada değişiklik yaparsanız sayfanızın tüm bölgelerini etkileyecektir. Yalnızca içerik alanını denetlemek istiyorsanız, bölge olarak yeni bir dosya adı oluşturun - yalnızca o dosya hamurunda content.tpl.php

<?php if ($content): ?>

    <?php print $content; ?>

<?php endif; ?>

Bu, yalnızca içerik bölgesi için oluşturulan div'den kurtulur.

  • İkinci Adım

Block.tpl.php dosyasının bir kopyasını oluşturun (block.tpl.php dosyasında değişiklik yaparsak tüm bloklar etkilenir) ve block - content.tpl.php olarak adlandırın ve div'ları kaldırın veya değiştirin. Divs olmadan dosya içeriği çıkarmak için aşağıdaki kodu içerecektir.

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

Bu, bock.tpl.php tarafından oluşturulan div'den kurtulacak

  • Üçüncü Adım

Şimdi divleri kaldırmak veya değiştirmek için node.tpl.php dosyasını düzenleyin. Divs olmadan dosya içeriği çıkarmak için aşağıdaki kodu içerecektir. > ">

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

Bu tüm div ve sınıflardan kurtulacak. Artık içeriği kendi div'lerinizle sarabilirsiniz. Lütfen bunun sizin için uygun olup olmadığını bize bildirin.

17
15dk51