我正在使用Prestashop 1.6.1.6建立一个在线书店。 自从该领域"作者"我没有在数据库中创建此自定义产品字段,但我无法按作者姓名执行搜索。
在blog之后,我在" Search.php"中编写了这段代码。但是博客的方向适用于较旧的版本,而且我最不重要的是重写该课程。
public static function getAuthors ($db, $id_product)
{
$authors ='';
$authorsArray = $db->executeS('
SELECT a.name FROM '._DB_PREFIX_. 'author sp
LEFT JOIN '._DB_PREFIX_. 'author a ON (a.id_product = sp.id_product)
WHERE sp.id_product = '. (int)$id_product. '
GROUP BY a.id_product'
);
foreach ($authorsArray as $author){
$authors. = $authors['name'] .'';
}
return $authors;
}
/ Every fields are weighted according to the configuration in the backend
$weight_array = array(
'pname' => Configuration::get('PS_SEARCH_WEIGHT_PNAME'),
//Add author to index search
'author' => Configuration::get('PS_SEARCH_WEIGHT_PNAME'),
'reference' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'pa_reference' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'supplier_reference' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'pa_supplier_reference' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'ean13' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'pa_ean13' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'upc' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'pa_upc' => Configuration::get('PS_SEARCH_WEIGHT_REF'),
'description_short' => Configuration::get('PS_SEARCH_WEIGHT_SHORTDESC'),
'description' => Configuration::get('PS_SEARCH_WEIGHT_DESC'),
'cname' => Configuration::get('PS_SEARCH_WEIGHT_CNAME'),
'mname' => Configuration::get('PS_SEARCH_WEIGHT_MNAME'),
'tags' => Configuration::get('PS_SEARCH_WEIGHT_TAG'),
'attributes' => Configuration::get('PS_SEARCH_WEIGHT_ATTRIBUTE'),
'features' => Configuration::get('PS_SEARCH_WEIGHT_FEATURE')
);
感谢阅读。