1

顧客がログインする前に管理者の承認が必要な無料の拡張機能をインストールしました。それをハッキングして、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

最初に: モジュールをハックしようとしないでください。元のモジュールのクラスを書き換える独自のモジュールを作成することをお勧めします。これにより、元のモジュールを引き続き更新できます。

2 番目: コードの一部が実行されていると確信していますか? その中に die() を入力するとどうなりますか?

3 番目: firegento-debugモジュールを実装することで、トリガーされたすべてのイベントのリストを表示できるため、そのイベントが実際に発生し、オブザーバーが呼び出されたかどうかを確認できます。

于 2013-02-12T08:22:16.647 に答える