[Не решено] Очистка корзины в ubercart

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

Аватар пользователя Eugeny Eugeny 1 октября 2011 в 20:57

У меня такая ситуация: на странице /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;
}
?>

Комментарии

Аватар пользователя shp@drupal.org shp@drupal.org 2 октября 2011 в 20:36

Тоже делал подобное. Только удалял не все сразу, а по чекбоксам (в Уберкарте 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;
  }
}
?>
Аватар пользователя Eugeny Eugeny 2 октября 2011 в 23:07

"<a href="mailto:shp@drupal.org">shp@drupal.org</a>" wrote:

Тоже делал подобное. Только удалял не все сразу, а по чекбоксам (в Уберкарте 6.x-2.6 вместо чекбоксов сделали кнопку).

Я тоже реализовал удаление по пунктам из корзины только с помощью модуля Ubercart ajax cart, плюс этого способа что работает эта штука через AJAX