Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
решение для 1.6:
controllers/admin/AdminCustomersController.php
$this->_join =
'LEFT JOIN '._DB_PREFIX_.'customer_group cg ON (a.id_customer = cg.id_customer)
LEFT JOIN '._DB_PREFIX_.'group_lang g ON (cg.id_group = g.id_group AND g.id_lang = '.(int)$this->context->language->id.')
LEFT JOIN '._DB_PREFIX_.'gender_lang gl ON (a.id_gender = gl.id_gender AND gl.id_lang = '.(int) $this->context->language->id.')';
и
'connect' => [
'title' => $this->l('Last visit'),
'type' => 'datetime',
'search' => false,
'havingFilter' => true,
],
'group_name' => [
'title' => $this->l('Group'),
'filter_key' => 'g!name',
],
]
);
добавить то что выделено
This is an override for thirtybees, I think 1.6 is fine tooHi you can put the file edit
1.7 даже не ставил поэтому тут не сильно помогу, посмотри файлы CustomerGridDefinitionFactory.php и CustomerQueryBuilder.php, но это не точноСпасибо за ответ, ступил не указав версию, мне нужно под 1.7
В этом файле все понятно CustomerGridDefinitionFactory.php , а вот с запросом все ни как не получается вытянуть, helpТут можно через прямую правку файлов CustomerQueryBuilder.php и CustomerGridDefinitionFactory.php - в первом определяешь SQL во втором столбец для вывода.
См. - Для просмотра ссылки Войдиили Зарегистрируйся
Для просмотра ссылки Войдиили Зарегистрируйся
Но лучше использовать модули (т.е. хуки), за пример взять - Для просмотра ссылки Войдиили Зарегистрируйся
/**
* [USER=314738]@param[/USER] SearchCriteriaInterface $searchCriteria
*
* [USER=273296]@Return[/USER] QueryBuilder
*/
private function getCustomerQueryBuilder(SearchCriteriaInterface $searchCriteria)
{
$queryBuilder = $this->connection->createQueryBuilder()
->from($this->dbPrefix . 'customer', 'c')
->leftJoin(
'c',
$this->dbPrefix . 'customer_group',
'cg',
'c.id_customer = cg.id_customer'
)
->leftJoin(
'c',
$this->dbPrefix . 'group_lang',
'g',
'cg.id_group = g.id_group AND g.id_lang = :context_lang_id'
)
->leftJoin(
'c',
$this->dbPrefix . 'gender_lang',
'gl',
'c.id_gender = gl.id_gender AND gl.id_lang = :context_lang_id'
)
Чета все ни как сделал такпроверить мне негде, но думаю как-то так:
Код:/** * [USER=314738]@param[/USER] SearchCriteriaInterface $searchCriteria * * [USER=273296]@Return[/USER] QueryBuilder */ private function getCustomerQueryBuilder(SearchCriteriaInterface $searchCriteria) { $queryBuilder = $this->connection->createQueryBuilder() ->from($this->dbPrefix . 'customer', 'c') ->leftJoin( 'c', $this->dbPrefix . 'customer_group', 'cg', 'c.id_customer = cg.id_customer' ) ->leftJoin( 'c', $this->dbPrefix . 'group_lang', 'g', 'cg.id_group = g.id_group AND g.id_lang = :context_lang_id' ) ->leftJoin( 'c', $this->dbPrefix . 'gender_lang', 'gl', 'c.id_gender = gl.id_gender AND gl.id_lang = :context_lang_id' )
private function getCustomerQueryBuilder(SearchCriteriaInterface $searchCriteria)
{
$queryBuilder = $this->connection->createQueryBuilder()
->from($this->dbPrefix . 'customer', 'c')
->leftJoin(
'c',
$this->dbPrefix . 'gender_lang',
'gl',
'c.id_gender = gl.id_gender AND gl.id_lang = :context_lang_id'
)
->leftJoin(
'c',
$this->dbPrefix . 'shop',
's',
'c.id_shop = s.id_shop'
)
->leftJoin(
'c',
$this->dbPrefix . 'customer_group',
'cg',
'c.id_customer = cg.id_customer'
)
->leftJoin(
'c',
$this->dbPrefix . 'group_lang',
'g',
'cg.id_group = g.id_group AND g.id_lang = :context_lang_id'
)
->where('c.deleted = 0')
->andWhere('c.id_shop IN (:context_shop_ids)')
->setParameter('context_shop_ids', $this->contextShopIds, Connection::PARAM_INT_ARRAY)
->setParameter('context_lang_id', $this->contextLangId);
$this->applyFilters($searchCriteria->getFilters(), $queryBuilder);
return $queryBuilder;
}