Ich versuche, die Produktkombinationen in Prestashop admin anzuzeigen Customer
Detailansicht zusätzlich zu den Produkten, die für den Kunden angezeigt werden.
Dies scheint der relevante Anruf von zu sein AdminCustomersController.php
im public form renderForm()
:
$products = $customer->getBoughtProducts();
Dann in der Customer
Klasse fand ich die Methode:
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);
}
Wie kann ich diese Methode ändern, um die Produktkombination neben dem Produktnamen anzuzeigen?
Ich verwende die Prestashop-Version 1.6.0.9
.
Antworten:
1 für die Antwort № 1Sie können es auf zwei Arten bekommen:
order_detail
Die Tabelle hat bereits ein Feld "Produktname", das einen Wert wie "Produktname - Kombination" enthält$products["product_name"]
In diesem Fall.
oder
- Wenn es Ihnen aus irgendeinem Grund nicht gut tut, enthält dieselbe Tabelle auch
product_attribute_id
Feld ist es eine Kombinations-ID, also:
$combination = new Combination($product["product_attribute_id"]);
$attributes = $combination->getAttributesName($id_lang);
var_dump($attributes);
gibt Ihnen ein Array von Attributen, die die aktuelle Kombination enthält.