it-swarm-id.com

Variabel untuk memeriksa apakah halaman tersebut dari beberapa Tipe Konten lainnya

Variabel $page dan $teaser sangat membantu tetapi apakah ada cara untuk memeriksa apakah saya menggunakan Jenis Konten yang berbeda? Misalnya, jika saya membuat jenis konten bernama Produk, apa yang dapat saya ketik di file template saya page.tpl.php yang akan menampilkan HTML hanya jika halaman yang dilihat bertipe Produk?

6
enchance

Tempatkan ini di template.php tema Anda, ganti 'THEMENAME' dengan nama tema Anda:

function THEMENAME_preprocess_page(&$variables, $hook) {
  $variables['some_html'] = '';
  if (isset($variables['node']) && $variables['node']->type == 'product') {
    $variables['some_html'] = '<p>Hello world!</p>';
  }
}

Dan gunakan ini di page.tpl.php Anda:

<?php print $some_html; ?>

Atau, jika Anda ingin menyimpan string HTML di file template Anda, saya akan melakukan ini di template.php:

function THEMENAME_preprocess_page(&$variables, $hook) {
  $variables['print_extra_header'] = false;
  if (isset($variables['node']) && $variables['node']->type == 'product') {
    $variables['print_extra_header'] = true;
  }
}

Dan gunakan ini di page.tpl.php:

<?php if ($print_extra_header) : ?> <h1>THIS GETS PRINTED</h1> <?php endif; ?>

Pastikan untuk menghapus cache setelah membuat fungsi THEMENAME_preprocess_page, jika tidak Drupal tidak akan tahu itu ada di sana dan tidak akan berjalan.

12
marcvangend