1

我安装了一个免费的扩展程序,在客户登录之前需要管理员批准。我正在破解它,试图让它允许除一个之外的所有客户组。我认为以下是我要编辑的功能,但是当我进行测试注册时,测试 cookie 不会显示在我的控制台中。有任何想法吗?

/**
     * Flag new accounts as such
     *
     * @param Varien_Event_Observer $observer
     */
    public function customerSaveBefore($observer)
    {
        $customer = $observer->getEvent()->getCustomer();

        $storeId = Mage::helper('customeractivation')->getCustomerStoreId($customer);
        $session = Mage::getSingleton('customer/session'); // var $session Mage_Customer_Model_Session
$customer_info = $session->getCustomer(); // var $customer Mage_Customer_Model_Customer
$userinfo = $customer_info->_origData; // fetch users info

// get user's customer group id number
$customer_group = $userinfo['group_id']; 
setcookie("Group", "yes");

        if (Mage::getStoreConfig(self::XML_PATH_MODULE_DISABLED, $storeId))
        {
            return;
        }

        if (!$customer->getId())
        {
            $defaultStatus = Mage::getStoreConfig(self::XML_PATH_DEFAULT_STATUS, $storeId);
            $customer->setCustomerActivated($defaultStatus);
            $customer->setCustomerActivationNewAccount(true);
        }
    }

我的代码是:

$customer_info = $session->getCustomer(); // var $customer Mage_Customer_Model_Customer
$userinfo = $customer_info->_origData; // fetch users info

// get user's customer group id number
$customer_group = $userinfo['group_id']; 
setcookie("Group", "yes");
4

2 回答 2

0

第一:请不要试图破解模块。更好地创建自己的模块,重写原始模块的类,这样您仍然可以更新原始模块。

第二:你确定那部分代码被执行了吗?如果你在其中输入一个 die() 会发生什么?

第三:您可以通过实现firegento-debug模块查看所有触发事件的列表,因此您可以检查该事件是否真的被触发并调用了观察者。

于 2013-02-12T08:22:16.647 回答
0

嗨,我正在自定义相同的扩展名。

问题是你没有得到客户群。

试试这条线来获取客户群

$customer = $observer->getEvent()->getCustomer();

$groupId = $customer->getGroupId();

于 2013-04-23T13:06:51.597 回答