jonas Posted July 6, 2016 Share Posted July 6, 2016 (edited) Den utmärkta funktionen "Skapa ny order" i backoffice verkar enbart söka i databsfälten email, firstname, lastname när man ska välja kund. Jag får inte ihop det näst jag ska lägga till sökning även i company (b2b påslagen) eller telefonnummer. Någon som redan löst problemet? Fixat! class Customer extends CustomerCore { /** * Light back office search for customers * * @param string $query Searched string * @param null|int $limit Limit query results * @return array|false|mysqli_result|null|PDOStatement|resource Corresponding customers * @throws PrestaShopDatabaseException */ public static function searchByName($query, $limit = null) { $sql_base = 'SELECT * FROM `'._DB_PREFIX_.'customer`'; $sql = '('.$sql_base.' WHERE `email` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')'; $sql .= ' UNION ('.$sql_base.' WHERE `id_customer` = '.(int)$query.' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')'; $sql .= ' UNION ('.$sql_base.' WHERE `lastname` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')'; $sql .= ' UNION ('.$sql_base.' WHERE `firstname` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')'; $sql .= ' UNION ('.$sql_base.' WHERE `company` LIKE \'%'.pSQL($query).'%\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).')'; if ($limit) { $sql .= ' LIMIT 0, '.(int)$limit; } return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); } Edited July 6, 2016 by jonas (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now