Вопрос про Ubercart (как убрать поле количества товара?)

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

Аватар пользователя Alex_R Alex_R 6 августа 2009 в 18:01

Подскажите пожалуйста. Магазин должен торговать уникальными товарами существующими в единственном числе. Как (где) убрать поле "количество товара в корзине" во всех местах где оно есть. Вроде перерыл все настройки, голова уже кругом идет, а ничего похожего не вижу.
Заранее спасибо!

Комментарии

Аватар пользователя Drupal Coder Drupal Coder 7 августа 2009 в 11:01

/admin/store/settings/products/edit -- там глобальный чекбокс

или выставить для товара на закладке редактирования количество в корзине по умолчанию 0

Аватар пользователя Alex_R Alex_R 7 августа 2009 в 12:01

"<a href="mailto:sin@drupal.org">sin@drupal.org</a>" wrote:
/admin/store/settings/products/edit -- там глобальный чекбокс

Увы этот чекбокс отвечает за "Отображать опциональное поле количества в форме Добавить в Корзину."
а в самой корзине оно все равно есть.
"<a href="mailto:sin@drupal.org">sin@drupal.org</a>" wrote:
или выставить для товара на закладке редактирования количество в корзине по умолчанию 0

Честно, не совсем понял в каком это месте и почему 0, если надо 1?

Аватар пользователя Drupal Coder Drupal Coder 7 августа 2009 в 17:49

При редактировании товара опция называется Default quantity to add to cart.

Коментарий к ней такой: Leave blank or zero to disable the quantity field next to the add to cart button, if it is enabled in general. If it is disabled, this field is ignored.

Т.е. если пусто или 0, то поле количества при добвлении в корзину не отображается.

В самой корзине незнаю как, думаю темизацией корзины только.

Аватар пользователя Alex_R Alex_R 7 августа 2009 в 18:15

Спасибо!

"<a href="mailto:sin@drupal.org">sin@drupal.org</a>" wrote:
При редактировании товара опция называется Default quantity to add to cart.

Этот вариант хорош когда есть и уникальные и не уникальные товары, поскольку у меня все уникальные, то проще тем чекбоксом...
"<a href="mailto:sin@drupal.org">sin@drupal.org</a>" wrote:
В самой корзине незнаю как, думаю темизацией корзины только.

Еще бы понять как...

Аватар пользователя meloff meloff 1 июля 2013 в 17:37

Не хотелось бы плодить андедов, но на drupal 7 модуль "UC Restrict Qty" в очень сырой dev версии и работает через (.), поэтому задачу я решил так:
<?php
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'uc_cart_view_form') {
foreach ($form['items'] as $k => $item) {
if (is_array($item) && isset($item['qty'])) {
$form['items'][$k]['qty']['#type'] = 'value';
$form['items'][$k]['qty']['#value'] = 1;
}
}
unset($form['items']['#columns']['qty']);
}
}

// что делает первая функция - если в корзину добавлено, к примеру 20 единиц продукта, то на странице чекаута все равно окажется 1 единица продукта
// также она скрывает поле qty на первой странице корзины с помощью unset($form['items']['#columns']['qty']);
// со второй функцией первая в принципе не нужна, но я ее оставил для подстраховки.

function mymodule_uc_cart_item_update($entity) {
uc_cart_remove_item($entity->nid, uc_cart_get_id(), $entity->data);
uc_cart_add_item($entity->nid, 1, $entity->data);
}

// что делает вторая функция - uc_cart_item_update срабатывает только когда в корзине уже есть такой же продукт,
// удаляет его из корзины и добавляет новый продукт в корзину
// таким образом в корзине всегда будет только 1 продукт одного вида
?>