Intereting Posts
Stripe: нет такого токена .. аналогичный объект существует в тестовом режиме, но для выполнения этого запроса использовался клавиша режима реального времени Обнаружение между iPad и iPad2 через JQuery / Javascript? Обрабатывание изображений PHP на квадрат IP-адрес машины в PHP дает :: 1, но почему? Как правильно настроить xdebug.file_link_format? Как определить пространство сервера для загруженного файла или нет? PHP и транзакции PostgreSQL? Codeigniter: сброс значений формы Регулярное выражение и акценты / тильды Как отображать данные в индексе Yii2, например, в виде карты Сохранение пользовательского HTML на локальных сайтах без доступа к FTP? Преобразование MB / KB в PHP Установить переменную среды извне bash Почему это регулярное выражение выбрасывает ошибку PREG_BACKTRACK_LIMIT_ERROR? Обновление и отображение самой последней записи (в БД) после того, как AJAX обновляет значение через PHP

назначить клиента нескольким группам клиентов на пурпурный

Здравствуйте, я хочу назначить несколько групп конкретному клиенту, например, «Rajat the customer», «Оптовая, розничная, электрическая». на самом деле я видел один и тот же поток в нескольких группах клиентов для каждого клиента, но это не помогает, есть ли какие-либо обновления, чтобы это произошло.

Я застрял, что мне делать, потому что нет расширения, имеющего такую ​​же функциональность?

Solutions Collecting From Web of "назначить клиента нескольким группам клиентов на пурпурный"

Я нашел решение,

Прежде всего, перейдите в базу данных и нажмите на eav_attribute а затем найдите group_id в поле кода атрибута и отредактируйте эту запись.

теперь Шаг 1: –

измените параметр frontend_input с помощью select to multiselect .

шаг 2:-

измените backend_type с static на varchar .

хотя это не стандартный способ, но это сработало для меня. 🙂

PS. Я использую версию сообщества magento 1.7.0.2.

Решение Раджата Моди работало довольно хорошо для меня, спасибо, но это нарушило отображение столбца групп в сетке клиентов, если выбрано более одного, плюс сломал способность фильтровать клиентов по группам.

Чтобы исправить это, создайте этот файл для использования в качестве рендерера для групп клиентов: /app/code/local/Mage/Adminhtml/Block/Customer/Renderer/Group.php

 <?php class Mage_Adminhtml_Block_Customer_Renderer_Group extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract { public function render(Varien_Object $row) { $value = $row->getData($this->getColumn()->getIndex()); $groups = Mage::getModel('customer/group')->getCollection() ->addFieldToFilter('customer_group_id', array('in' => explode(',', $value))); $groupNames = array(); foreach ($groups as $group) { $groupNames[] = $group->getCustomerGroupCode(); } return implode(', ', $groupNames); } } 

Затем переопределите /app/code/core/Mage/Adminhtml/Block/Customer/Grid.php enter code here (скопируйте его в /app/code/local/Mage/Adminhtml/Block/Customer/Grid.php )

В функции _prepareColumns() измените это значение (вокруг строки 95):

 $this->addColumn('group', array( 'header' => Mage::helper('customer')->__('Group'), 'width' => '100', 'index' => 'group_id', 'type' => 'options', 'options' => $groups, )); 

к этому:

 $this->addColumn('group_id', array( 'header' => Mage::helper('customer')->__('Group'), 'width' => '100', 'index' => 'group_id', 'type' => 'options', 'options' => $groups, 'renderer' => 'Mage_Adminhtml_Block_Customer_Renderer_Group', 'filter_condition_callback' => array($this, '_filterGroupCondition') )); 

то он будет использовать этот класс для рендеринга групп в сетке.

Также в функции _prepareCollection() вокруг строки 52 найдите ->addAttributeToSelect('group_id') и добавьте после: ->addAttributeToSelect('customer_group_id')

Наличие нескольких групп на одного клиента также, по-видимому, мешает многоуровневому ценообразованию (когда продукт имеет разную цену в зависимости от группы клиентов). Чтобы исправить это на внешнем дисплее … Исправьте уровни ставок для продуктов на основе групп клиентов при расчете на интерфейсе:

В /app/code/core/Mage/Catalog/Model/Product/Type/Price.php Вокруг строки 138, FIND: $customerGroup = $this->_getCustomerGroupId($product); ДОБАВИТЬ ПОСЛЕ: $customerGroups = explode(',',$customerGroup);

FIND: if ($groupPrice['cust_group'] == $customerGroup && $groupPrice['website_price'] < $matchedPrice) { REPLACE WITH: if (in_array($groupPrice['cust_group'],$customerGroups) && $groupPrice['website_price'] < $matchedPrice) {

Сделайте то же самое в /app/code/core/Mage/Bundle/Model/Product/Price.php, если вы используете пакеты.

У меня еще нет исправления для отображения цены на уровне группы клиентов при создании заказа или переупорядочения с панели управления бэкэнд – они просто показывают стандартные цены на товары.

Наконец, когда мы все это mgnt_catalog_product_entity_group_price , у нас были некоторые экземпляры, где mgnt_catalog_product_entity_group_price и я до сих пор не знаю, почему это произошло, поэтому обязательно делайте резервные копии. Для этой таблицы я восстановил ее из резервной копии SQL, но повторное индексирование и, возможно, сброс кеша Magento также часто требуется при входе в этот материал.

Когда вы делаете такие вещи, как поиск клиентов по группам программно в своих собственных сценариях или модулях, вам, возможно, придется принять во внимание, что теперь это мультиселекция, например:

 $allowedGroups = array( array( "finset" => array(10) ), array( "finset" => array(42) ) ); $collection = Mage::getModel('customer/customer') ->getCollection() ->addAttributeToSelect('*') ->addFieldToFilter('group_id', $allowedGroups); 

Хотя я не уверен, что этот фрагмент кода будет работать до тех пор, пока у всех клиентов не будет строк в таблице mgnt_customer_entity_varchar , где будет сохранено новое значение для групп клиентов, когда будет выбрано более одной группы. Только один идентификатор группы сохраняется в mgnt_customer_entity поскольку это поле не является varchar.

По этой причине имейте в виду, что да, это может повлиять на модули, которые расширяют или используют функциональные возможности групп клиентов.