Ubercart: Одна кнопка "Добавить в корзину" на странице

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

Комментарии

Аватар пользователя bozz903 bozz903 10 ноября 2015 в 11:46

В общем решил проблему сам.
Как я это сделал:
В файле "uc_catalog.module",в функции theme_uc_catalog_product_grid убрал вывод формы с количеством товара и кнопкой "Добавить в корзину".
Вместо нее сделал одно текстовое поле и присвоил ему ID, который соотносится с ID товара.
В моем случае это стало выглядеть так
$product_table .= '<div style="padding-top: 40px;"><strong>Quantity:</strong> <input id="xqty-'.$nid.'" style="width:40px;" type="text" value="0"/></div>';
$nid - текущий ID продукта.
Далее включил модуль uc_cart_links.
Потом в том же файле в начале той же функции "theme_uc_catalog_product_grid" написал генерацию javascript функции, которая смотрит количество товара в каждом input field и формирует ссылку типа /cart/add/p12_q12-p13_q10
Где q12,q13 и есть значения соотвествующих полей.
Далее осталось добавить кнопку одну кнопку "Добавить в корзину" и выполнять при ее вызове document.location.href = <сгенеренная ссылка>.
Вот и все.
Получившийся файл uc_catalog.module в аттаче.

Аватар пользователя glu2006 glu2006 23 июня 2009 в 11:01

theme_uc_catalog_product_grid равно phptemplate_uc_catalog_product_grid в вашем файле template.php темы сайта, и патчить модуль ради одной функции не правильно :).