Перейти к содержимому


Под заказ


  • Вы не можете ответить в тему
Сообщений в теме: 30

#1 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 27 July 2011 - 09:23 AM

Не отображаются товары у которых на остатке "-1" в чем может быть причина?!
  • 0

#2 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 27 July 2011 - 02:27 PM

не отображается кнопочка "заказать" в чем может быть проблема?!
  • 0

#3 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 27 July 2011 - 03:03 PM

попробуй -1 взять в кавычки, == '-1'

или можно вообще написать < 0
  • 0
502 Bad Gateway

#4 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 27 July 2011 - 05:08 PM

по разному пробовал не помогает
  • 0

#5 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 27 July 2011 - 05:24 PM

( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock=='-1' )

а если по первому пункту, то отключить в настройках "Не показывать товары которых нет на складе"
  • 0
502 Bad Gateway

#6 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 28 July 2011 - 11:16 AM

Это работает, а вот почему то кнопка не отображается если на остатке -1.

---------- Сообщение объединено ----------

Может есть какие то константы в функциях которые за это отвечают или в базе?
  • 0

#7 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 28 July 2011 - 12:09 PM

может код не туда вставляешь ?
я пробовал, у меня отображается кнопка.
  • 0
502 Bad Gateway

#8 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 28 July 2011 - 12:23 PM

в том то и дело поставил себе на камп локальную версию магазина отображается работает без проблем, а на хосте нет.
  • 0

#9 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 28 July 2011 - 12:47 PM

ну дык
$smarty.const.CONF_CHECKSTOCK==0
поставь
  • 0
502 Bad Gateway

#10 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 28 July 2011 - 02:39 PM

неа не работает(((

---------- Сообщение объединено ----------

Решил проблему
Dbus, спасибо за помощь...за форму поставил и все стало отображаться странно конечно но работает)))
  • 0

#11 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 28 July 2011 - 02:59 PM

да ничего странного ) если в форму, то во все 3 части нужно подставлять. там же ж от выбора корзины зависит.
  • 0
502 Bad Gateway

#12 vakkula

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 28 July 2011 - 03:29 PM

ну все равно как то оно не правильно на локальной машине так а на хосте по другому
  • 0

#13 pelentron

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений
Репутация: 0
Начинающий

Отправлено 26 September 2011 - 06:45 PM

а почему может не добавляться в корзину. кнопки "в корзину" есть а вот добавить товар она не может.
  • 0

#14 dorian

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 107 сообщений
Репутация: 24
Ассистент

Отправлено 28 January 2012 - 01:01 PM

ставлю $product_info.in_stock > -2 во всех 3х вариантах корзины, в результате, кнопка "в корзину" светится на сайте, но при нажатии на нее, товар в корзину не попадает :(
  • 0

#15 A26

    Новичок

  • Download User
  • Pip
  • 7 сообщений
Репутация: 0
Начинающий

Отправлено 28 January 2012 - 02:21 PM

тоже долго мучался , и получается что в поле in_stock не может быть отрицательное число. в момент списания товара . поэтому в корзину не добавляется.
  • 0

#16 dorian

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 107 сообщений
Репутация: 24
Ассистент

Отправлено 28 January 2012 - 09:21 PM

тоже долго мучался , и получается что в поле in_stock не может быть отрицательное число. в момент списания товара . поэтому в корзину не добавляется.


а решение нашел? :)
  • 0

#17 A26

    Новичок

  • Download User
  • Pip
  • 7 сообщений
Репутация: 0
Начинающий

Отправлено 28 January 2012 - 10:19 PM

на данный момент работаю с webasyst - на днях надеюсь решу с shopcms .....
  • 0

#18 dorian

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 107 сообщений
Репутация: 24
Ассистент

Отправлено 05 February 2012 - 03:49 PM

Решил проблему

выложишь решение для народа?
  • 0

#19 SoVA

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 66 сообщений
Репутация: 0
Начинающий
  • ГородКраснодар

Отправлено 19 February 2012 - 02:46 PM

Одно время тоже ломал голову над отображением кнопки "В корзину" для отрицательных и нулевых остатков, натыкался то ли на этом форуме, то ли на shopcms.ru на решение с пояснением,что и где нужно подправить в
product_brief.tpl.html
product_detailed.tpl.html


Делал, как там было написано, но не особо заморачиваясь и не вдумываясь - результат, что называется, был немного предсказуем - не работало :) Отложил на время эту заморочку. На днях вот вернулся к ней, искал-искал - не нашел уже ту ветку с решением, но саму суть помнил. Полез в указанные файлы (для начала в локальной копии магазина под Денвером, заранее рабочие копии файлов забэкапил, есессна). Посмотрел пристально, понял что к чему, подправил: все стало как хотелось.

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

Итак:

product_brief.tpl.html
Ищем строку
{if $smarty.const.CONF_CHECKSTOCK == '1'}{$smarty.const.IN_STOCK}: <b>{if $product_info.in_stock > 0}<span class="oki">{if $smarty.const.CONF_EXACT_PRODUCT_BALANCE == '1'}{$product_info.in_stock}{else}{$smarty.const.ANSWER_YES}{/if}</span>{else}<span class="error">{if $product_info.in_stock < 0}{$smarty.const.STOCK_TRAIN_GO}{else}{$smarty.const.ANSWER_NO}{/if}</span>{/if}</b>
Закомментируем ее:

{* {if $smarty.const.CONF_CHECKSTOCK == '1'}{$smarty.const.IN_STOCK}: {if $product_info.in_stock > 0}{if $smarty.const.CONF_EXACT_PRODUCT_BALANCE == '1'}{$product_info.in_stock}{else}{$smarty.const.ANSWER_YES}{/if}{else}{if $product_info.in_stock < 0}{$smarty.const.STOCK_TRAIN_GO}{else}{$smarty.const.ANSWER_NO}{/if}{/if}
*}
И вставим сразу за ней ее же, но слегка модифицированную:

{if $smarty.const.CONF_CHECKSTOCK == '1'}{$smarty.const.IN_STOCK}: <b>{if $product_info.in_stock > 0}<span class="oki">{if $smarty.const.CONF_EXACT_PRODUCT_BALANCE == '1'}{$product_info.in_stock}{else}{$smarty.const.ANSWER_YES}{/if}</span>{else}<span class="error">{if $product_info.in_stock < 0}{$smarty.const.STOCK_TRAIN_GO}{else}{$smarty.const.STOCK_TRAIN_GO}{/if}</span>{/if}</b>

Это у нас, невзирая на нулевое или отрицательное значение остатка товара, будет выводиться надпись "Под заказ" ({$smarty.const.STOCK_TRAIN_GO}).

И далее в этом же файле:
Следующие строки
{if $smarty.const.CONF_SHOW_ADD2CART eq 1 && ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }

аналогично комментируем {* *} и после вставляем их моды:
{if $smarty.const.CONF_SHOW_ADD2CART eq 1}

-------------------

{if $smarty.const.CONF_SHOW_ADD2CART eq 1 && ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }

{if $smarty.const.CONF_SHOW_ADD2CART eq 1}

-------------------

{if $smarty.const.CONF_SHOW_ADD2CART eq 1 && ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }

{if $smarty.const.CONF_SHOW_ADD2CART eq 1}

-------------------
-------------------

product_detailed.tpl.html

{if $smarty.const.CONF_SHOW_ADD2CART eq 1 &&  ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }

{if $smarty.const.CONF_SHOW_ADD2CART eq 1}

-------------------

{if $smarty.const.CONF_SHOW_ADD2CART eq 1 && ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }

{if $smarty.const.CONF_SHOW_ADD2CART eq 1}

-------------------

{if $smarty.const.CONF_SHOW_ADD2CART eq 1 && ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock > 0 ) }

{if $smarty.const.CONF_SHOW_ADD2CART eq 1}

Это мы включаем кнопку "Добавить в корзину", несмотря на нулевое или отрицательное количество товара на складе.
Не забываем после модификации шаблонов очистить кэш - локально или на сервере, где Вы будете испытывать изменения.

-------------------
-------------------

Конечно, я не кодер, и решение, вероятно, получилось довольно корявым, но уж как смог :)

Эта часть работает. Но, несмотря на наличие кнопки "Добавить в корзину", товар с отрицательным или нулевым количеством в корзину не добавляется: думал - где-то еще, по-видимому, проверяется наличие товара на складе перед тем, как собственно добавлять его в корзину по включенной кнопке. Вот это я пока найти не смог - а оно вон как оказывается:

тоже долго мучался , и получается что в поле in_stock не может быть отрицательное число. в момент списания товара . поэтому в корзину не добавляется.


Как бы и где это пофиксить, чтобы скрипт не сопротивлялся при добавлении в корзину товара с остатком <=0. Оно, конечно, понятно, что при включенном учете остатков каждый заказ должен отнимать от существующего остатка кол-во, указанное в заказе, и это как бы защита от отрицательных остатков. Но если уж все равно скрипт изначально допускает существование отрицательных остатков, объясняя это явление как "под заказ", то какая уже разница, почему бы и нет :)

Правда, тут товарищ на форуме shopcms решил вопрос по-другому
Форум ShopCMS • Просмотр темы - Добавление в корзину товара отсутствующего на складе.

Правда, на мой взгляд не очень удобно: получается, сперва нужно прописать положительные остатки товаров в базе, потом отключить учет остатков, а пользователям будет вместо надписей Есть или Нет или Под заказ, показываться занесенный когда-то остаток товара (который при этом еще и не меняется). Выходит, если нужно сделать товар "Под заказ", нужно опять включать учет остатков в настройках, менять кол-во в нужном товаре на, скажем, 0, а потом опять выключать. Или при выключенном учете, но так же занесенных заранее остатках прописывать в шаблоне, чтобы при отрицательном или нулевом остатке пользователю показывалась строка "под заказ". Это, в принципе, тоже вариант, но опять же, хотелось бы, все-таки использовать учет товара, а не извращаться с переключениями.

Так как же все-таки разрешить при включенном учете остатков разрешить добавление в корзину товары с кол-вом <0 или =0 ?
  • 0
Make love, not work!

#20 dorian

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 107 сообщений
Репутация: 24
Ассистент

Отправлено 19 February 2012 - 02:54 PM

Так как же все-таки разрешить при включенном учете остатков разрешить добавление в корзину товары с кол-вом <0 или =0 ?


проблема решена!!! (движок 3.1.2)
  • 0