Saya telah membuat tema dan memiliki file template saya dalam struktur ini
- /templates/page/page.tpl.php
- /templates/page/page--node-type.tpl.php
Saya telah membuat templat halaman khusus tetapi untuk beberapa alasan itu tidak diambil oleh Drupal. Saya telah membersihkan cache dan juga mencoba menambahkan fungsi preprocessor ini dalam file theme.php theme tetapi masih tidak berfungsi.
if (isset($vars['node']))
{
// If the node type is "blog" the template suggestion will be "page--blog.tpl.php".
$vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type);
}
Bantuan apa pun akan dihargai.
Jawaban:
Seperti yang dilaporkan dalam Saran Template Drupal 7 , saran template yang digunakan secara default dari Drupal 7 untuk halaman adalah halaman - [depan | internal / path] .tpl.php.
Untuk halaman yang terlihat di http://www.example.com/node/1/edit , Drupal akan mencari file templat berikut:
Untuk menambahkan saran tambahan, tema Anda harus menerapkan template_preprocess_page () dan menambahkan saran baru di
$variables['theme_hook_suggestions']
($variables
adalah variabel yang diteruskan oleh referensi ke fungsi).Jika Anda melakukannya, maka satu-satunya alasan file templat yang disarankan tidak digunakan adalah karena file tersebut tidak diberi nama dengan benar: dalam kasus ini halaman menampilkan halaman buku, misalnya, file templat tersebut harus berupa halaman - book.tpl .php. Anda dapat mengubah kode untuk tema Anda, dan membiarkannya menggunakan halaman - template node-type.tpl.php, jika tidak menemukan template seperti halaman - book.tpl.php.
Untuk memperhatikan juga bahwa, di theme_get_suggestions () (yang merupakan fungsi yang disebut oleh template_preprocess_page () ) tanda hubung diganti dengan
_
, dan bukan sebaliknya. Alasan yang dilakukan dijelaskan dalam komentar yang dilaporkan dalam kode fungsi.sumber
Saya menggunakan Drupal 7.4, dan saya memiliki masalah yang sama dan satu-satunya hal yang membantu adalah posting ini: Bagaimana cara menambahkan halaman kustom.tpl berdasarkan jenis konten
Dari pos:
sumber
Saya telah menghabiskan terlalu lama untuk mencoba mengikuti contoh di atas menggunakan ganti string di Drupal 7.22. Ini sepertinya tidak berhasil untuk saya. Menariknya beberapa jenis konten tampaknya disarankan secara otomatis, sementara yang lain tidak. Ini adalah kode yang pada akhirnya berhasil bagi saya.
jadi saran template untuk tipe konten front_page ini akan menjadi:
halaman - front_cover.tpl.php
Menariknya saran templat kode untuk tipe konten 'masalah' muncul sebagai halaman - issue.tpl.php tanpa perlu skrip preprosesor !? Ini untuk tujuan saya tampaknya menimpa tampilan template yang menggunakan jalur yang sama.
yaitu
view path = / issue / # template saran berdasarkan tipe konten yaitu / issue / # / front_cover
sumber