(РЕШЕНИЕ) Нет в наличии в Ubercart + Feeds = Убрать "Добавить в корзину"

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

Аватар пользователя WebFamily WebFamily 29 сентября 2012 в 1:30

Многие задаются вопросом как в Ubercart убрать возможность добавить товар, если его нет в наличии. И эти же многие предлагают решение ввиду модуля uc_out_of_stock. И все вроде нормально, но как же нам быть, если мы используем feeds и uc_feeds? Ведь для feeds нам не представляется возможности импортировать поля остатков на складе...

Решение предлагаю простое:

1. Создаем в типе материала product обязательное (если его оставить незаполненным, то потом на странице товара будет ошибка) логическое поле field_stock (Одиночный флаг вкл./выкл.) со значениями "В наличии" и "Нет в наличии" и сохраняем.

2. В шаблоне node--product.tpl.php своей темы там где Вы желаете вывести надпись "В наличии" или "Нет в наличии" вставляете <?php print render($content['field_stock']); ?>

2. Там, где Вы собираетесь вывести кнопку "Добавить в корзину" вставляете следующий код:
<?php if($content['field_stock'][0]['#markup']=='В наличии')
{print render($content['add_to_cart']);}
else {print '';}
?>

Все! Теперь можно импортировать товар.

Внимание в своем CSV файле наличие указывается значением "1", отсутствие соответственно значением "2".
P.S. Не забывайте заполнять это поле у всех товаров во избежание ошибок на странице. Это можно избежать дополнительным кодом, если кто-то модернизирует вышеуказанный код, то многие будут благодарны! )) Надеюсь кому-нибудь пригодиться мое решение.

Комментарии