Snažím sa, aby sa kombinácie produktov zobrazili v správcovi Prestashopu Customer
okrem produktov, ktoré sa zobrazujú pre zákazníka, aj detailné zobrazenie.
Zdá sa, že toto je relevantný hovor od používateľa AdminCustomersController.php
v public form renderForm()
:
$products = $customer->getBoughtProducts();
Potom v Customer
triedy som našiel metódu:
public function getBoughtProducts()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS("
SELECT * FROM `"._DB_PREFIX_."orders` o
LEFT JOIN `"._DB_PREFIX_."order_detail` od ON o.id_order = od.id_order
WHERE o.valid = 1 AND o.`id_customer` = ".(int)$this->id);
}
Ako môžem upraviť túto metódu tak, aby sa vedľa názvu produktu zobrazovala kombinácia produktov?
Používam verziu Prestashop 1.6.0.9
.
odpovede:
1 pre odpoveď č. 1môžete ho získať dvoma spôsobmi:
order_detail
tabuľka už obsahuje pole "product_name", ktoré obsahuje hodnotu ako "Product Name - Combination", takže môžete použiť$products["product_name"]
v tom prípade.
alebo
- ak to z nejakého dôvodu nie je pre vás dobré, obsahuje rovnaká tabuľka tiež
product_attribute_id
pole, je to id kombinácie, takže:
$combination = new Combination($product["product_attribute_id"]);
$attributes = $combination->getAttributesName($id_lang);
var_dump($attributes);
dá vám rad atribútov, ktoré aktuálna kombinácia obsahuje.