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.
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.
Jawaban:
Anda menentukan wilayah dalam file .info tema 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
di file tema .info Anda, Anda kemudian akan menambahkan: <?php print render($page['sidebar']); ?>
ke tempat yang relevan di halaman Anda.tpl.php.
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 daerah Anda sendiri, Anda perlu mendefinisikan semua yang Anda gunakan, termasuk yang diperlukan. Dengan kata lain, Anda tidak bisa hanya mendefinisikan wilayah tambahan: Jika Anda mendefinisikan apa pun, Anda harus mendefinisikan semuanya.
Membuat wilayah untuk tema Drupal 7 tidak berbeda dengan membuat wilayah untuk wilayah Drupal 6; perbedaan antara Drupal 7 dan versi sebelumnya pada dasarnya:
mytheme_regions()
fungsi seperti yang dilakukan dalam Drupal 5, tetapi mereka didefinisikan dalam mytheme.info menggunakan regions[]
arahan, yang juga dilakukan dengan tema Drupal 6.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 $help
variabel yang digunakan oleh Drupal 6.
Wilayah tema didefinisikan dalam file .info tema Anda - lihat dokumen . Cukup tambahkan baris dengan regions[corner] = Corner
untuk mendapatkan wilayah Corner.
Maka Anda perlu mengedit file page.tpl.php dan menambahkan di <php print render($corner); ?>
mana Anda ingin daerah itu 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, itu menggunakan wilayah default Drupal. Jika Anda ingin menambahkan, Anda harus mendeklarasikan ulang wilayah default. Anda dapat, tentu saja, menghapus wilayah mana pun tetapi tolong dukung wilayah yang diperlukan. Lihat dokumen 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 akan 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.
regions[content] = Content
satu-satunya wilayah yang diperlukan di D7? drupal.org/node/171205#regions tampaknya menyiratkan ini, tapi kemudian drupal.org/node/171224 mengatakan bahwa daerah yang diperlukan adalah content
, help
, page_top
danpage_bottom
content
jelas sangat penting. help
didukung oleh core (untuk menampilkan pesan bantuan), page_bottom
mungkin di mana js bawah dicetak dan page_top
tampaknya digunakan untuk navbar seperti bilah alat inti.
Ikuti langkah-langkah di bawah ini untuk membuat wilayah khusus di tema Anda:
Buka file theme.info Anda dan tambahkan baris ini.
regions[machine_name_of_your_region] = Name of your region
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; ?>
Konfigurasi - Kinerja - Hapus semua cache
Anda hanya perlu mendefinisikannya dalam dua file.
;;;;;;;;;;;;;;;;;;;;;
;; Regions
;;;;;;;;;;;;;;;;;;;;;
regions[navigation] = 'Navigation'
regions[header] = 'Top Bar'
regions[highlighted] = 'Highlighted'
regions[new_region_name] = 'Region Name' ;; Add New Region
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 lebih lanjut kunjungi http://drupal.org/node/171205