Бортовой журнал Ктулху

Prestashop - экспорт цен из комбинаций товаров

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

В phpmyadmin находим следующие таблицы:

  • ps_attribute_lang - названия атрибутов;
  • ps_product_attribute - самая интересная таблица - в ней находятся связи между id атрибута и id товара и ценообразование товаров с разными атрибутами;
  • ps_product_attribute_combination - связь между id атрибута и id комбинации атрибутов товара;

 

Цветовые комбинации пока не интересуют, поэтому не нужно пока их рассматривать.

function combine_price ($id_product, $product_attr) {
$combprice = mysql_query
("
 SELECT 
 a.id_product AS ip, 
 a.id_product_attribute AS ipa, 
 a.price AS ap, 
 b.id_attribute AS bia, 
 b.id_product_attribute AS bipa, 
 c.id_attribute AS cia, 
 c.id_lang AS cil, 
 c.name AS cn 
 FROM 
 ps_product_attribute AS a 
 LEFT JOIN 
 ps_product_attribute_combination AS b 
 on (a.id_product_attribute=b.id_product_attribute) 
 LEFT JOIN 
 ps_attribute_lang AS c 
 on (b.id_attribute=c.id_attribute) 
 WHERE 
 a.id_product=$id_product 
 AND 
 b.id_product_attribute=$product_attr 
 AND 
 c.id_lang=1
");
while ($row = mysql_fetch_array($combprice))
{
$price=$row['ap'];//наценка/уценка (-/+)
return $price;
}
}

Получается такая функция, аргументами которой являются id_product и product_attr; функция выводит +/- для основной цены товара.