Перейти к содержанию
Форум поддержки пользователей VamShop

Cross Selling и надичие на складе.


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

Здравствуйте, ситуация в следующем, есть сопутствующие товары, у них отображаются все параметры (цена, название, описание), но не показывает есть в наличии или нет. Сейчас стоит это выражение:

{if $products_data.PRODUCTS_QUANTITY > 0}
<font color="#00CC00"><strong>Есть в наличии.</strong></font>
{else}
<font color="red"><strong><a href="{$mainpage}preorder.html">Под заказ.</a></strong></font>
{/if}[/code]

менял $products_data на $module_data, как это делал в других местах и не получил эффекта.

Подскажите плиз куда копать.

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

Да нет, вроде условие правильное, наверное просто нет в sql запросе количества.

Откройте /includes/classes/product.php и в методе getCrossSells правьте:


$cross_query = "select p.products_fsk18,
p.products_tax_class_id,
                                                p.products_id,
                                                p.products_image,
                                                pd.products_name,
pd.products_short_description,
                                                p.products_fsk18,p.products_price,p.products_vpe,
                          p.products_vpe_status,
                          p.products_vpe_value,
                                                xp.sort_order from ".TABLE_PRODUCTS_XSELL." xp, ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd
                                            where xp.products_id = '".$this->pID."' and xp.xsell_id = p.products_id ".$fsk_lock.$group_check."
                                            and p.products_id = pd.products_id and xp.products_xsell_grp_name_id='".$cross_sells['products_xsell_grp_name_id']."'
                                            and pd.language_id = '".$_SESSION['languages_id']."'
                                            and p.products_status = '1'
                                            order by xp.sort_order asc";
[/code] на:
[code]
$cross_query = "select p.products_fsk18,
p.products_tax_class_id,
                                                p.products_id,
                                                p.products_image,
                                                p.products_quantity,
                                                pd.products_name,
pd.products_short_description,
                                                p.products_fsk18,p.products_price,p.products_vpe,
                          p.products_vpe_status,
                          p.products_vpe_value,
                                                xp.sort_order from ".TABLE_PRODUCTS_XSELL." xp, ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd
                                            where xp.products_id = '".$this->pID."' and xp.xsell_id = p.products_id ".$fsk_lock.$group_check."
                                            and p.products_id = pd.products_id and xp.products_xsell_grp_name_id='".$cross_sells['products_xsell_grp_name_id']."'
                                            and pd.language_id = '".$_SESSION['languages_id']."'
                                            and p.products_status = '1'
                                            order by xp.sort_order asc";

т.е. добавьте в условие p.products_quantity, что б метка PRODUCTS_QUANTITY в шаблоне отрабатывала.

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

Всем привет. В модуле cross_seling добавил краткое описание, но не могу его обрезать. Делаю следующее:

{$module_data.PRODUCTS_SHORT_DESCRIPTION|vam_truncate:$smarty.const.MAX_DISPLAY_SHORT_DESCRIPTION:"...":true}

Выдает ошибку:

Fatal error: Smarty error: [in vamshop_table/module/cross_selling.html line 25]: syntax error: unrecognized tag: $module_data.PRODUCTS_SHORT_DESCRIPTION|vam_truncate:$smarty.const.MAX_DISPLAY_SHORT_DESCRIPTION:"...":true (Smarty_Compiler.class.php, line 446) inC:\home\test2.ru\www\includes\external\smarty\Smarty.class.php on line 1113

Подскажите, как обрезать текст в сопутствующих товарах? Спасибо.

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

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

Можно вместо $smarty.const.MAX_DISPLAY_SHORT_DESCRIPTION просто писать число, 100 например.

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

Саш, делаю так: {$module_data.PRODUCTS_SHORT_DESCRIPTION|vam_truncate:100:"...":true}

Опять ошибка,

Fatal error: Smarty error: [in vamshop_table/module/cross_selling.html line 25]: syntax error: unrecognized tag: $module_data.PRODUCTS_SHORT_DESCRIPTION|vam_truncate:100:"...":true (Smarty_Compiler.class.php, line 446) in C:\home\test2.ru\www\includes\external\smarty\Smarty.class.php on line 1113

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

А если просто:


{$module_data.PRODUCTS_SHORT_DESCRIPTION}
[/code]

Нет с {$module_data.PRODUCTS_SHORT_DESCRIPTION} не выводит краткое описание, а с такой выводит {$products_data.PRODUCTS_SHORT_DESCRIPTION},но не обрезает

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

В шаблоне по умолчанию cross_selling.html и так ведь есть строка уже:


{$products_data.PRODUCTS_SHORT_DESCRIPTION|vam_truncate:256:"...":true}
[/code]

и ошибку эту строка не выдаёт, т.е. по умолчанию и так всё работает по умолчанию.

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

В шаблоне по умолчанию cross_selling.html и так ведь есть строка уже:


{$products_data.PRODUCTS_SHORT_DESCRIPTION|vam_truncate:256:"...":true}
[/code]

и ошибку эту строка не выдаёт, т.е. по умолчанию и так всё работает по умолчанию.

Спасибо Саш. Все заработало.

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

Здравствуйте! Столкнулся с такой же проблемой, как и в начале этой темы:

Не работает условие наличия товара на складе в модулях (module/ cross_selling.html, reverse_cross_selling.html и also_purchased.html)

 

В файле includes/classes/product.php прописано p.products_quantity

 

Условие тоже примитивное:

 

{if $products_data.PRODUCTS_QUANTITY > 0}
{$products_data.PRODUCTS_BUTTON_BUY_NOW}
 {else}
НЕТ В НАЛИЧИИ!
{/if}

product.php

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

Для начала просто вставьте в шаблон метку {$products_data.PRODUCTS_QUANTITY}

Если выводит количество, значит дело не в условии.

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

Подставил {$products_data.PRODUCTS_QUANTITY} в шаблоны:

cross_selling.html - выводит все норм, как и должно

reverse_cross_selling.html - тоже все хорошо

also_purchased.html - НЕ ВЫВОДИТ!!! ( {$module_data.PRODUCTS_QUANTITY} тоже не работает)

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

Это нужно p.products_quantity добавлять в метод getAlsoPurchased в /includes/classes/product.php

Тогда и в also_purchased будет.

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

Так у вроде уже всё написал, и какой файл смотреть, и что именно там искать, а какую строку в sql запрос добавлять.

Тем более есть пример с сопутсювущими товарами.

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

Теперь стала та же проблема на странице "Рекомендуемых товаров". В файле templates/vamshop/module/featured.html устанавливаем метку {$module_data.PRODUCTS_QUANTITY} и ничего не выводится!

А метка {$module_data.PRODUCTS_MODEL} все корректно выводит!

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