Странно, не могу темизировать форму контактов в Друпал 7

Главные вкладки

Аватар пользователя joomler joomler 11 октября 2011 в 0:27

Пытаюсь темизировать форму контактов в Д7, по правильной инструкции из книги Pactpub Drupal 7 Themes, 2011.
Создал в template.php ф-ию

<?php 
function cooles_theme() {
 
  return array(
    
'contact_site_form' => array(
    
'render element' => 'form',
    
'template' => 'contact-site-form',
    
    ),
 );
}
?>

Создал файл в корне темы contact-site-form.tpl.php
в нем такое:

<?php
<div class="form" id="contactwidget">
<!--Print 
the title input field-->
<
div class="inp_l">  
 <
div class="inp_r">
<?
php print drupal_render($form['edit-name']); ?>
 </div>
</div>
<?php print drupal_render_children($form); ?>
<?php 
echo $contact?>

С css все впорядке, я прикрепил картинку, где видно что оформление подгружается нормально.
НО, в файрбаге смотрю код, в моем оформлении нет вообще хтмл кода, выдаваемого друпал рендером, то есть drupal_render($form['edit-name']); почему-то не срабатывает, даже не знаю как так (id поля вроде правильно взято).
Пытался и по-другому: создал стиль form-text копию стиля inp_l, но оформление для поля Your name не меняется! В файрбаге меняю - картинка появляется в обрамлении поля слева.

Попробовал ради теста - изменение формы работает, я зменил функцией звездочку у обязательного поля на воскл. знак. Но почему по моему не пашет, хз.
Вобщем пытаюсь поставить свои классы в оформление инпута, а они туда не ставятся, что делать?

ВложениеРазмер
Иконка изображения firebug.jpg270.89 КБ

Комментарии

Аватар пользователя joomler joomler 11 октября 2011 в 19:22

Со вторым пунком разобрался: надо в стилях писать .form-item input это просто.
Но почему drupal_render($form['edit-name']); не работает так и не знаю

Аватар пользователя leagnus leagnus 27 июня 2014 в 14:44

А тема случайно не Bootstrap?
у неё в registry.inc специально написано:
Do not define the `path` or `template`
т.е. function bootstrap_theme в template.php включающая шаблон contact-site-form
работать не будет.