it-swarm-id.com

Bagaimana cara membuat kawasan khusus dalam suatu tema?

Saya ingin menambahkan area baru yang akan menjadi lebar situs. Jelaskan proses memasukkan wilayah baru ini ke dalam tema saya, jika mungkin menggeneralisasikannya untuk menambahkan wilayah kustom baru.

58
palbakulich

Anda menentukan daerah di file tema .info Anda. Lihat: Struktur file .info

Anda kemudian harus meletakkan tag templat yang relevan di file page.tpl.php Anda.

Jadi misalnya jika Anda mendefinisikan wilayah sidebar dalam tema Anda. Info file, Anda kemudian akan menambahkan: <?php print render($page['sidebar']); ?> ke tempat yang relevan di halaman Anda.tpl.php.

68
Camsoft

Satu hal lain: Jangan lewatkan daerah yang dibutuhkan!

regions[content] = Content
regions[help] = Help
regions[page_top] = Page top
regions[page_bottom] = Page bottom

Lebih lanjut tentang ini dapat ditemukan di http://drupal.org/update/themes/6/7#closure .

Untuk mengklarifikasi tentang hal ini: Jika Anda menentukan wilayah Anda sendiri, Anda perlu mendefinisikan semua yang Anda gunakan, termasuk yang diperlukan. Dengan kata lain, Anda tidak bisa hanya mendefinisikan wilayah tambahan: Jika Anda menentukan, Anda harus mendefinisikan semuanya.

20
laura

Membuat wilayah untuk tema Drupal 7 tidak berbeda dengan membuat wilayah untuk wilayah Drupal 6; perbedaan antara Drupal 7 dan versi sebelumnya pada dasarnya:

  • Wilayah tidak didefinisikan menggunakan fungsi mytheme_regions() seperti yang dilakukan pada Drupal 5, tetapi mereka didefinisikan dalam mytheme.info menggunakan arahan regions[], Yang merupakan apa yang dilakukan juga dengan Drupal 6 tema.
  • Wilayah diberikan menggunakan fungsi Drupal render(), alih-alih mencetak konten variabel.

Wilayah Drupal 7 default adalah yang berikut:

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

Tema inti Drupal 7 sekarang termasuk wilayah bernama 'disorot' yang menggunakan tampilan yang sama dengan area pernyataan misi di Drupal 6; mereka juga menyertakan wilayah bernama 'bantuan', yang secara default memiliki konten yang sama dari variabel $help yang digunakan oleh Drupal 6.

9
kiamlaluno

Wilayah tema didefinisikan dalam file .info tema Anda - lihat docs . Cukup tambahkan baris dengan regions[corner] = Corner Untuk mendapatkan wilayah Pojok.

Maka Anda perlu mengedit file page.tpl.php dan menambahkan <php print render($corner); ?> di mana Anda ingin daerah tersebut muncul. Jika tema Anda tidak memiliki page.tpl.php, salin dari tema dasar atau dari modul sistem.

Perangkap umum:

  • Jika file theme.info tidak memiliki wilayah yang dideklarasikan, ia menggunakan Drupal wilayah default. Jika Anda ingin menambahkan, Anda harus mendeklarasikan ulang daerah default. Anda dapat, tentu saja, hapus wilayah mana saja tapi tolong dukung wilayah yang diperlukan. Lihat docs lagi.

  • Perubahan pada file .info atau menambahkan file baru ke tema (seperti page.tpl.php) hanya akan terlihat setelah Anda menghapus cache.

  • Omega, tema dasar yang sangat populer, tidak memerlukan perubahan apa pun di page.tpl.php, hanya file .info. Tetapi Anda harus mengunjungi pengaturan tema di UI dan menetapkan wilayah Anda ke zona.

4
Capi Etheriel

Ikuti langkah-langkah di bawah ini untuk membuat wilayah khusus di tema Anda:

  1. Buka file theme.info Anda dan tambahkan baris ini.

    regions[machine_name_of_your_region] = Name of your region
    
  2. Meskipun Anda juga bisa memanggil blok wilayah di templat simpul, Anda umumnya akan menambahkan wilayah ke templat halaman tema. Ini biasanya page.tpl.php, atau jika Anda memiliki file templat khusus untuk halaman yang berbeda, edit juga. Wilayah baru hanya akan muncul di halaman yang dibangun di sekitar templat tempat Anda menambahkan wilayah baru. Rekatkan di mana pun Anda ingin daerah baru Anda muncul.

    <?php if ($page['machine_name_of_your_region']): ?>
      <div id="sidebar-first" class="column sidebar"><div class="section">
      <?php print render($page['machine_name_of_your_region']); ?>
      </div></div> <!-- /.section, /#sidebar-first -->
     <?php endif; ?>
    
  3. Konfigurasi - Kinerja - Hapus semua cache

2
Astha chauhan

Buat wilayah baru di Tema

Anda hanya perlu mendefinisikannya dalam dua file.

  • Info tema
  • Halaman.tpl.php

Info tema

;;;;;;;;;;;;;;;;;;;;;
;; Regions
;;;;;;;;;;;;;;;;;;;;;

regions[navigation]      = 'Navigation'
regions[header]          = 'Top Bar'
regions[highlighted]     = 'Highlighted'
regions[new_region_name] = 'Region Name' ;; Add New Region

Halaman.tpl.php

Sekarang render wilayah ini

  <?php if ($page['new_region']): ?>
      <div class="new_region_class">
        <?php print render($page['new_region']); ?>
     </div>
  <?php endif; ?>

Sekarang Kosongkan semua cache, Ini dia, Anda memiliki daerah baru di tema Anda. Anda dapat melihatnya di halaman konfigurasi blok Anda.

Untuk kunjungan lebih lanjut http://drupal.org/node/171205

0
gsjha