Добавить свою операция в Views Bulk Operation

Profile picture for user admin_romcom

МодульViews Bulk Operation является полезным в тех случаях, когда нужно выполнить конкретную операцию в течение более чем одной строки в представлении. В стандартном наборе присутствуют операции удаления, публикации, смену автора содержания, отправлять электронную почту и т.д. (См. изображение ниже). Бывают случаи, когда нужно произвести определенные операции с нодами, но в списке их нет. Все решается написанием небольшого модуля.

Создаем свой модуль


function vbo_change_price_action_info() {
return array(
'vbo_change_price_action' => array(
'type' => 'node',
'label' => t('Change price to 0.0000 in field [sell price]'),
'configurable' => FALSE,
'pass rows' => TRUE,
),
);
}

function vbo_change_price_action(&$node, $context = array()) {
$query = db_update('uc_products')
->fields(array('sell_price' => '0'))
->condition('nid',$node->nid)
->execute();
}

vbo_change_price - имя модуля.

Функция данного модуля - массовое изменение цены в товарах Ubercart'а.

Теги

jack

что то не понял как же модуль работает, он что устанавливает 0 на выбранные продукты ?

Админ

Profile picture for user admin_romcom

In reply to by jack

все верно. этот модуль был написан для того, чтоб убрать цену в товарах уберкарта через vbo. Это только для примера как добавить свою операцию в vbo. Сам по себе модуль ничего не делает. Он добавляет поле в Bulk Operations во views. В принципе, можно вывести textfield с ценой для каждого или один textfield на все товары и поменять их пачкой.

Артем

Спасибо,автор)))

Добавить комментарий

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
 o  o      o    o    o---o  o-o  
| / | / / |
OO | O--o -O- oo
| \ \ o o | / |
o o o-o o-o o---o o-o

Enter the code depicted in ASCII art style.