Автор Тема: Замена кнопки В КОРЗИНУ на ПО ПРЕДЗАКАЗУ  (Прочитано 1123 раз)

01 Август 2015, 02:25:18
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
Здравствуйте, форумчане!

Столкнулся с проблемой.
в магазине есть товар с известным остатком на складе, и неизвестным.
1 - С товарами которые есть в наличии все отлично - проставлено количество, отображается кнопка В КОРЗИНУ, можно заказать.
2 - С товарами, которые скупаем у поставщика-производителя и на данный момент количество которых известно на его складе - у нас стоит ноль и разрешен заказ с нулевым остатком.
3 - С товаром, количество которого у поставщика неизвестно беда.

К примеру сезонный товар (открытые ботинки-сандали для малышей на лето, или подарочные комплекты) моментально узнать наличие не получается, и если разрешить на него заказ пользователю может случится конфуз - деньги нам пришли за товар, а его нет у поставщика.

Соответственно вопрос-идея: заменить кнопку В КОРЗИНУ для таких товаров на кнопку ЗАПРОСИТЬ НАЛИЧИЕ или ПОД ЗАКАЗ, чтобы клиент понимал, что на данный момент его в наличии нет и нажимая на неё видел форму обратного звонка, ну или что то в таком роде.

Кто с таким сталкивался, и как решили? Может есть модуль какой?

Буду признателен за ответы и коменнты!  :)
01 Август 2015, 11:39:29
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Такого чтобы подходил на все 100% нет. Есть модули предзаказа, но а них копка всегда будет выводиться для всех товаров.
У товара не бывает неопределеного значения (если вы не меняли стандарные классы prestashop). По умолчанию, если количество не назначено будет сохранено 0.
Вам придеться переопределять стандартные конторллеры и класс Product.
01 Август 2015, 12:37:08
Ответ #2
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
Хорошо! А если идти по логике - если товара НОЛЬ, заменить кнопку В КОРЗИНУ на ЗАКАЗАТЬ, причем для всех товаров количество которых ноль? То как можно это реализовать?
01 Август 2015, 12:56:20
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Можно, уже была такая тема. В шаблон добавить условие показа кнопки.
{if !$product->quantity}
кнопка В КОРЗИНУ
{else}
кнопка ЗАКАЗАТЬ
{/if}
01 Август 2015, 13:09:18
Ответ #4
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
Можно, уже была такая тема. В шаблон добавить условие показа кнопки.
{if !$product->quantity}
кнопка В КОРЗИНУ
{else}
кнопка ЗАКАЗАТЬ
{/if}

не совсем понятно, что имелось ввиду.
поправьте если ошибаюсь - это для product.tpl?

и можно ссылку на тему если не затруднит - через поиск не нашел
01 Август 2015, 13:11:16
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Этот код для шаблона product.tpl.
Ссылку на тему не помню.
01 Август 2015, 13:18:25
Ответ #6
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
Этот код для шаблона product.tpl.
Ссылку на тему не помню.

код для отображения и скрытия кнопки корзины основанный на количестве товара у меня выглядит следующим образом:

<div{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE} class="unvisible"{/if}>
<p id="add_to_cart" class="buttons_bottom_block no-print">
<button type="submit" name="Submit" class="exclusive">
<span>{if $content_only && (isset($product->customization_required) && $product->customization_required)}{l s='Customize'}{else}{l s='Add to cart'}{/if}</span>
</button>
</p>
</div>

Пробую играть с первой строкой: if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE получается ерунда, неверно параметры учитываются.

направьте, пожалуйста на верный путь
01 Август 2015, 13:23:02
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
{if !$product->quantity}
<button type="submit" name="Submit" class="exclusive">
<span>{if $content_only && (isset($product->customization_required) && $product->customization_required)}{l s='Customize'}{else}{l s='Add to cart'}{/if}</span>
</button>
{else}
кнопка ЗАКАЗАТЬ
{/if}
Но для ЗАКАЗАТЬ нужен свой обработчик формы. Стандарный контроллер не отсылает заказ.
04 Август 2015, 02:07:16
Ответ #8
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Вольный фрилансер
    • Просмотр профиля
    • Интернет-магазин ToBeMom
спасибо всем за наставления! Советы помогли! в качестве кнопки ЗАКАЗАТЬ ставлю переработанный модуль обратного звонка