我在“类别”中创建了一个新的颜色字段。我希望此字段根据默认类别出现在每个产品中。因此,对我而言,最好的解决方案是覆盖Product类:
class Product extends ProductCore {
public $defaultCategoryColor;
public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null)
{
self::$definition['fields']['defaultCategoryColor'] = array('type' => self::TYPE_STRING);
$this->defaultCategoryColor = $this->getDefaultCategoryColor();
parent::__construct($id_product, $full, $id_lang, $id_shop, $context);
}
public function getDefaultCategoryColor() {
//with defaut_category_id, request in DB and return the correct field
} }
但是此解决方案不起作用。也许我没有正确执行此操作?
此外,我听说不再优先覆盖不是最佳做法。
我是否需要创建一个挂在product.tpl中的模块并在其中发出数据库请求?
{hook h='displayDefaultCategoryColor' product=$product}
感谢您的帮助:)