Зміна шаблону виводу search
у шаблоні сайту викликається форма пошуку сайту.
Запитання: як змінити HTML виведення форми? Наприклад, мені потрібно в VALUE написати текст за умовчанням ("пошук по сайту"), і через javascript (onFocus) зробити, щоб воно очищалося в потрібний момент.
Коментарі
Текст можна змінити через Адмінка - Переклад інтерфейсу - Пошук рядків А для очищення треба перевизначати пошук, наскільки я знаю.
Що означає перевизначати пошук?
Я маю на увазі зробити поле введення з вже введеною в нього фразою "Пошук по сайту", і щоб при натисканні (за допомогою javascript) його value встановлювалася б рівним порожнім рядком.
Для цього мені потрібно безпосередньо редагувати HTML код цього модуля, де це можна зробити?
У файлі вашої теми mytheme/template.php: 'some JS. '); return drupal_render($form); > ?>
і зробіть там print_r($form), щоб подивитися структуру форми.
Спасибі за відповідь, пробував по-різному, не виводиться ні print_r, ні навіть echo 'test'; усередині функції. Атрибут і значення до форми не присвоюється.
Чому таке може бути?
Тому що ваша функція не викликається. Чому - інше питання. Яка версія друпала, як називається тема, що використовується, як називається функція, ну і чи включена форма пошуку :) ?
Угу, значить так: тема - .AD Blueprint New Версія Drupal - чесно кажучи не знаю, де дивитися. Судячи з написів біля тем 6.x-1.0, якщо можете підкажіть, будь ласка, де це можна подивитися і я напишу уточнену інформацію. Форму пошуку увімкнено. Назва функції - я чесно кажучи не дуже зрозумів, чи потрібно в назві mytheme замінювати на назву своєї теми, тому пробував і так і не перейменовуючи, результату - нуль :/ Можу поділиться доступом до адмінки.
приводжу для login, (за замовчуванням в едиті якийсь текст, або картинка як на цьому сайті, при наведенні курсором цей текст видаляється для введення користувачем свого тексту)
те саме і з пошуком.
створюєш файл forms.js
у page.tpl пишеш рядок:
сам файл forms.js виглядатиме так:
jQuery ( document ) .ready ( function ( )
var login = $ ( '#user-login-form input[type=text]#edit-name' ); var pass = $ ('#user-login-form input[type=password]#edit-pass');
login.val('Логін'); login.bind ( "focus" , function ( ) < if ( this.value== 'Логін' ) this.value= '' ; > ) ;
login.bind ( "blur" , function ( ) < if ( this.value== '' ) this.value= 'Логін' ; > ) ;
pass.val ( 'Пароль'); pass.bind ( "focus" , function ( ) < if ( this.value== 'Пароль' ) this.value= '' ; > ) ;
pass.bind ( "blur" , function ( ) < if ( this.value== '' ) this.value= 'Пароль' ; > ) ;
натомість: login = $('#user-login-form input[type=text]#edit-name');
у тебе буде для пошуку
search = $('#search-form input [type=text]#edit-keys');
тобто. вказуєш ід форми а потім вказуєш елемент, що цікавить на ній.