Jump to content

Наличие товаров по всем категориям


Recommended Posts

Мне очень было нужно чтобы товары в product_list отображались "в наличии" или "нет в наличии" по всем комбинациям, а не по комбинации "по умолчанию", мне помог господин ОРС, за что я его очень благодарю, вот выкладываю код написанный им, для общества, может кому нужно.

 

в /classes/Category.php в функции getProducts заменить

 

return Product::getProductsProperties($id_lang, $result);

 

на

 

$result=Product::getProductsProperties($id_lang, $result);

foreach ($result as &$product){
$product['quantity']+=Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('SELECT SUM(quantity) FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product`='.(int)$product['id_product']);
}

unset($product);

return $result;

Link to comment
Share on other sites

  • 1 month later...

Вопрос остается открытым. Необходимо реализовать отображение "в наличии" "нет в наличии" в продукт_лист по сумме комбинаций. Либо сделать, если у комбинации по умолчанию кол-во изменилось на 0, умолчание передается другой комбинации, у которой кол-во больше 0. Менять каждый раз у каждого товара "умолчание" очень неприятно

Link to comment
Share on other sites

Не комбинации, а атрибуты там написано и без упоминания о группах и эта опция не когда не работала не на одном из моих сайтов...постоянно захожу в товар и там написано что в таком размере и цвете товара нету! Правда может это из за того что я комбинации загружаю без упоминания комбинации по умолчанию у товара, может из за этого, но совершенно нету времени проверять.

Link to comment
Share on other sites

Это просто мои мысли:

В папке Classes в одном из файлов Attributes..я видел правило Add default attribute (что то типа этого), кароче там идет проверка на комбинацию по умолчанию и если такой нет то ставит первую (по алфавиту?) комбинацию по умолчанию, вот если бы там дописать что типа && count > 0 чтобы комбинация по умолчанию становилась та у которой в наличии больше 1 штуки и по алфавиту..

 

Кстате, а что если попытаться сделать запрос к базе который будет искать все комбинации с остатком 0 и удалять их и кнопку в админке прописать? и еще такую проверку по крону повесить..

  • Like 1
Link to comment
Share on other sites

Это просто мои мысли:

В папке Classes в одном из файлов Attributes..я видел правило Add default attribute (что то типа этого), кароче там идет проверка на комбинацию по умолчанию и если такой нет то ставит первую (по алфавиту?) комбинацию по умолчанию, вот если бы там дописать что типа && count > 0 чтобы комбинация по умолчанию становилась та у которой в наличии больше 1 штуки и по алфавиту..

 

Кстате, а что если попытаться сделать запрос к базе который будет искать все комбинации с остатком 0 и удалять их и кнопку в админке прописать? и еще такую проверку по крону повесить..

спасибо. попробую. но второй вариант не подойдет у меня с 1с связано по штрихкодам
Link to comment
Share on other sites

Ну, если что пиши, думаю что работает для продукт листа, то и для страницы продукта подойдет и наоборот.

Link to comment
Share on other sites

×
×
  • Create New...