Area teks di Drupal 7 dapat diubah ukurannya secara default. Saya ingin mematikan ini, tetapi ketika saya memeriksa area teks dengan Firebug, saya tidak dapat menemukan CSS yang membuatnya resizable.
Bagaimana cara mencegah ukuran teks agar tidak diubah ukurannya?
theme('textarea')
, atau itu akan menyebabkan loop tak terbatas; perlu memanggiltheme_textarea()
, atau fungsi tema yang telah ditetapkan dari modul lain sebagai penggantitheme_textarea()
.unset($element['#resizable']);
bukan$element['#resizable'] = false;
. Jika Anda melihat kode untuktheme_textarea()
itu pasti bekerja$element
berisi array yang disebutelement
, jadi ini berhasil:$element['element']['#resizable'] = false;
Jika Anda hanya membutuhkan kompatibilitas CSS3, Anda dapat menggunakan CSS berikut:
Atau jika Anda perlu menonaktifkan pengubahan ukuran pada textarea tertentu, tambahkan ID area teks itu:
sumber
Mengganti ini dalam tema adalah perubahan menit terakhir, yang modul tidak akan memiliki kesempatan untuk bereaksi.
Ini mudah dilakukan melalui modul dan
#process
panggilan balik:Ini memberi modul seperti Wysiwyg kesempatan untuk memperhatikan bahwa textarea seharusnya tidak memiliki grippie, sehingga dapat menghindari melampirkan perilaku itu ketika menonaktifkan editor.
sumber
Terapkan ini di TEMA Anda. Ini akan memaksa
#resizable
keFALSE
dan mencegah rendering JS dan markup.Jawaban yang diterima dekat tetapi fungsi theme_ * tidak boleh dipanggil secara langsung karena mereka dapat melewati fungsi proses / preproses secara tidak sengaja
sumber
Anda dapat menambahkan CSS inline khusus ke formulir Anda, untuk menyembunyikan grippies:
sumber
Modul baru bernama Disable Resizable Textarea dirilis sekarang.
Sangat mudah diatur. Cukup edit bidang yang diinginkan dan Anda akan melihat opsi "Nonaktifkan properti #responable dari teks ini". Anda juga dapat menonaktifkan resizable dari ringkasannya, jika bidangnya bertipe "Teks panjang dengan ringkasan".
sumber
Anda bisa melakukan pergantian node atau komentar.
Lihat kode contoh dan komentar di bawah ini:
Untuk mozilla dan chrome, kita masih bisa melihat masalahnya. tempat css hack.
sumber
Saya baru - baru ini menyelesaikan masalah ini juga dan menemukan 2 solusi ini:
Yang pertama saya paling suka: Gunakan kode ini di tema Anda
template.php
dan semua grippies dan textarea.js akan hilang:Jangan lupa untuk mengubah THEMENAME ke nama tema Anda dan siram semua cache.
Cara kedua adalah menginstal modul Nonaktifkan textarea yang bisa diubah ukuran tetapi saya mencoba untuk menjaga jumlah modul di instalasi saya serendah mungkin.
sumber