Categoría de límite a un segmento específico del cliente
-
29-09-2020 - |
Pregunta
En mi tienda (Mage-EE V12) tengo una categoría que quiero restringir a un segmento de clientes específico.¿Alguien sabe de una manera que pueda hacer esto?
Por ejemplo, si configuré un segmento, quiero que los clientes en este segmento tengan acceso al catálogo completo, ¡pero si los clientes no caen en este segmento, no tienen visibilidad de la categoría restringida?
Alguna idea ?
Saludos
Solución
para su requerimiento.
- primero debe crear un nuevo grupo de clientes de Admin.
- Asignar un segmento específico del cliente a este grupo.
- luego usando evento / observador
catalog_controller_category_init_before
Evite que el cliente vaya esta categoría, excepto ese específico Categoría
config.xml:
<config>
<global>
<config>
<events>
<catalog_controller_category_init_after>
<observers>
<redirect_to_account>
<class>[ModuleNameSpace]_[ModuleName]_Model_Observer/class>
<method>redirectNotLogged</method>
</redirect_to_account>
</observers>
</catalog_controller_category_init_after>
</events>
</config>
</global>
</config>
observador.php
<?php
class [ModuleNameSpace]_[ModuleName]_Model_Observer{
public function redirectNotLogged(Varien_Event_Observer $observer)
{
$action = strtolower(Mage::app()->getRequest()->getActionName());
$controller = strtolower(Mage::app()->getRequest()->getControllerName());
$controller_action= $observer->getEvent()->getControllerAction();
$category = $observer->getEvent()->getCategory();
/* if category is not Match with your category then continue default behave */
if($category->getId()!='YOUR_CATEGORY_ID'):
return true;
endif;
/* Customer group id match and then previllage to access that category page.*/
if (Mage::getSingleton('customer/session')->isLoggedIn() && Mage::getSingleton('customer/session')->getCustomerGroupId()=='CUSTOMER_GROUP_ID') {
return true;
}
Mage::app()->getResponse()->setRedirect($_SERVER['HTTP_REFERER']);
Mage::app()->getResponse()->sendResponse();
exit;
}
}
o uso de extensión como
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange