Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

  • Ответов 81
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

А почему данные из формы передаются GET запросом, а не POST. Ведь даже их предназначение: первый - получить, второй - отправить. Или в этом есть какой сакральный смысл?

 

Откуда, интересно, Вы выкопали такие сведения о предназначении?

Оба типа выполняют ОТПРАВКУ формы на сервер. Конечно, каждый со своими особенностями...

http://htmlbook.ru/samhtml5/formy/otpravka-dannykh-formy

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

К вопросу о отображении товара при нулевом количестве.

В дефолтной реализации данный вопрос сводится к свойствам объекта variants, т.е. при количестве 0 применяется фильтр in_stock.
Почитал форум рецепт состоит в удалении 'in_stock'=>true.
Но так же был пост http://forum.simplacms.ru/topic/11126-отображение-цены-при-0-шт/?p=85838, где говорится что это чревато ошибками.
О каких ошибках идет речь?
Допустим мне нужно в карточке товара отображать товар при нулевом количестве и выводить "нет в наличии"

Исходя из прочитанного убрал в ProductView.php

 

foreach($this->variants->get_variants(array('product_id'=>$product->id, /*'in_stock'=>true*/)) as $v)

Ну а далее в шаблоне опирался уже не на

 

$product->variants|count > 0
 

а на

 

$product->variant->stock == 0
 

 




 

Ссылка на сообщение
Поделиться на другие сайты

Но так же был пост http://forum.simplacms.ru/topic/11126-отображение-цены-при-0-шт/?p=85838, где говорится что это чревато ошибками.

О каких ошибках идет речь?

Допустим мне нужно в карточке товара отображать товар при нулевом количестве и выводить "нет в наличии"

 

"отображать товар при нулевом количестве" - строго говоря, смысла не имеет, ибо, как ни странно, у товара НЕТ количества (и цены). Количество есть у вариантов товара, а у каждого товара вариантов может быть несколько.

Попробуйте понять, что будет при этом методе хотя бы в простых случаях. Например, у товара 2 варианта, у первого количество 0, у второго 44.  Или наоборот, у первого количество 44, у второго 0.

 

 

Ну а далее в шаблоне опирался уже не на

$product->variants|count > 0
а на
$product->variant->stock == 0

 

Зависит от того, как именно "опирался". Если заменил первый код на второй, то и дополнительные ошибки могут возникнуть.

 

Если у Вас в каждом товаре только один вариант, то, возможно, Вам повезет и ошибок не встретится.

Ссылка на сообщение
Поделиться на другие сайты

 

"отображать товар при нулевом количестве" - строго говоря, смысла не имеет, ибо, как ни странно, у товара НЕТ количества (и цены). Количество есть у вариантов товара, а у каждого товара вариантов может быть несколько.

Попробуйте понять, что будет при этом методе хотя бы в простых случаях. Например, у товара 2 варианта, у первого количество 0, у второго 44.  Или наоборот, у первого количество 44, у второго 0.

 

 

Зависит от того, как именно "опирался". Если заменил первый код на второй, то и дополнительные ошибки могут возникнуть.

 

Если у Вас в каждом товаре только один вариант, то, возможно, Вам повезет и ошибок не встретится.

Если проблемы связаны только с количеством вариантов а по умолчанию берется первый объект из массива variants, то для меня это не критичная проблема.

Главное что-бы массив variants заполнялся объектами не зависимо от того равен ли stock нулю или нет.

 

т.е. как я мыслю: у товара есть варианты, какие-то в наличии какие-то нет. При установке варианта по умолчанию можно пройтись по массиву и первый попавшийся объект с stock > 0 установить в variant.

Ну а дальше уже при отбражении вариантов  (кликаем по кнопочке с названием варианта) с помощью ajax  передавать id выбранного контролеру, который установит variant по переданному id и вернет обработанный smarty шаблон, который мы и отобразим по окончанию ajax запроса.

 

Как - то так. Поэтому, если проблема только в том, что вы описали, то проблем нет!

Изменено пользователем pepelxD
Ссылка на сообщение
Поделиться на другие сайты

Поэтому, если проблема только в том, что вы описали, то проблем нет!

 

Пробуйте. Если у Вас будет работать без ошибок, то и хорошо.

 

При установке варианта по умолчанию можно пройтись по массиву и первый попавшийся объект с stock > 0 установить в variant.

 

"пройтись" - можно, "установить" - вообще говоря, нельзя, так как "первый попавшийся объект с stock > 0" может и не существовать.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...