Profile picture for Admin

Модуль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

пт, 12/26/2014 - 08:54

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

Коментувати

Вміст цього поля є приватним і не буде доступний широкому загалу.
 dP     dP   88888888b  8888ba.88ba    88888888b  dP     dP 
88 88 88 88 `8b `8b 88 88 88
88 88 a88aaaa 88 88 88 a88aaaa 88 .8P
88 88 88 88 88 88 88 88 d8'
Y8. .8P 88 88 88 88 88 88 .d8P
`Y88888P' dP dP dP dP 88888888P 888888'

Уведіть код, зображений у стилі Ascii-Арт.