[РЕШЕНО] темизация кнопки отправить webform

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

Комментарии

Аватар пользователя vlucas vlucas 4 февраля 2012 в 23:21

спасибо, но не могу понять как же обратиться к кнопке? к простому полю получается, например

<?php
function du_preprocess_webform_form(&$vars) {
  
$vars['form']['submitted']['button']['#prefix'] = 'цццц';
  
$vars['form']['submitted']['button']['#suffix'] = 'цццц';
  
 
}
?>

а к кнопке не пойму как. Получается только продублировать )))

что-то типа

<?php
function du_preprocess_webform_form(&$vars) {
  
$vars['form']['submit']['#type'] = 'image_button';
  
$vars['form']['submit']['#name'] = 'oooop';
  
$vars['form']['submit']['#src'] = path_to_theme() .'/yes.png';
}
 
?>
Аватар пользователя vlucas vlucas 5 февраля 2012 в 0:33

))) вот так получилось

<?phpfunction du_preprocess_webform_form(&$vars) {  
  $vars['form']['#type'] = 'image_button';
  $vars['form']['#name'] = 'oooop';
  $vars['form']['#src'] = path_to_theme() .'/yes.png';
}?>

но при этом исчезли все поля hidden, которые были

<?php
  
<input type="hidden" name="submitted[button]" id="edit-submitted-button" value=""  />
<
input type="image" name="oooop" id=""  class="form-submit" src="/drdu/sites/all/modules/webform/yes.png" />
<
input type="hidden" name="details[sid]" id="edit-details-sid" value=""  />
<
input type="hidden" name="details[page_num]" id="edit-details-page-num" value="1"  />
<
input type="hidden" name="details[page_count]" id="edit-details-page-count" value="1"  />
<
input type="hidden" name="details[finished]" id="edit-details-finished" value="0"  />
<
input type="hidden" name="form_build_id" id="form-fc710d5a4013e8e99e22e561ae84c464" value="form-fc710d5a4013e8e99e22e561ae84c464"  />
<
input type="hidden" name="form_token" id="edit-webform-client-form-1-form-token" value="dcfbc502b2f7bab542a83db986b0db36"  />
<
input type="hidden" name="form_id" id="edit-webform-client-form-1" value="webform_client_form_1"  />
<
div id="edit-actions" class="form-actions form-wrapper"><input type="submit" name="op" id="edit-submit" value="Отправить"  class="form-submit" />
?>

остались только поле формы, которое создавал сам и собственно кнопка-изображение.

теперь форма не отправляется! как же отредактировать кнопку?

Аватар пользователя darkdim darkdim 5 февраля 2012 в 12:04

обычно отменяют предыдущую кнопку (unset) а потом вместо нее тулят кнопку-картинку с таким же уровнем вложенности в массиве. в webform все работает так, как и в formapi. найдите пример и сделайте как надо.

Аватар пользователя vlucas vlucas 5 февраля 2012 в 16:21

Спасибо, получилось вот так:

<?php
  
function du_preprocess_webform_form(&$vars) {
    unset(
$vars['form']['actions']['submit']);    
    
$vars['form']['submit']['#type'] = 'image_button';
    
$vars['form']['submit']['#src'] = path_to_theme() . '/yes.png';
    
$vars['form']['submit']['#name'] = 'op';
}
?>
Аватар пользователя vlucas vlucas 16 апреля 2012 в 16:21

Опять столкнулся с похожей проблемой, и мой вариант выше не подходит, так как он темизирует абсолютно все формы, а как темизировать конкретную?

Аватар пользователя vlucas vlucas 17 апреля 2012 в 8:28

да, действительно работает, но почему-то только в модуле, в template.php работать отказывается, хотя некоторые подобные хуки у меня на семёрке запускаются.

Спасибо, а случаем по этой темке не подскажете http://www.drupal.ru/node/79152 ?