У меня такая ситуация: на странице /cart в форму нужно добавить кнопку быстрого сброса всей формы.
Набросал модуль. Кнопка в форме появилась, но при нажатии просто страница перезагружается, а форма не сбрасывается. Где ошибся ?
<?php
function custom_module_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'uc_cart_view_form':
// print dpm($form);
$form['clear'] = array(
'#type' => 'submit',
'#value' => 'Очистить',
'#weight' => -100,
'#validate' => array('uc_cart_view_form_clear'),
);
break;
}
}
function
uc_cart_view_form_clear($form, &$form_state) {
unset($form_state['values']);
unset($form_state['storage']);
$form_state['rebuild'] = TRUE;
}
?>
Комментарии
Тоже делал подобное. Только удалял не все сразу, а по чекбоксам (в Уберкарте 6.x-2.6 вместо чекбоксов сделали кнопку).
<?php
if (isset($form_state['values']['items'])) {
foreach ($form_state['values']['items'] as $item_key => $item) {
$form_state['values']['items'][$item_key]['qty'] = 0;
}
}
?>
Я тоже реализовал удаление по пунктам из корзины только с помощью модуля Ubercart ajax cart, плюс этого способа что работает эта штука через AJAX