কীভাবে নিয়ন্ত্রণকারী অ্যাকাউন্টকন্ট্রোলারকে ওভাররাইড করা যায়


12

আমার একটি পদ্ধতি নিয়ামককে ওভাররাইড করা দরকার

Core/Mage/Customer/controllers/AccountController.php 

এবং একটি নতুন পদ্ধতি যুক্ত করুন। যেহেতু সম্পাদনা করার জন্য এই নিয়ামকটি ভুল - তাই ওভাররাইড করা উচিত।

প্রকল্পের প্রয়োজনীয়তা অনুযায়ী ওভাররাইড কন্ট্রোলার অবশ্যই থাকা উচিত

local/New/Mage/Customer/controllers/AccountController.php 

এটি করতে, একটি ফাইল কনফিগারেশন তৈরি করুন, তবে ঠিকানাগুলি customer/account/test, customer/account /ajaxকোনও প্রতিক্রিয়া জানায় না এবং customer/account/loginএটি ওভাররাইড হয় না। দয়া করে এই বাস্তবায়নে সহায়তা করুন।

অ্যাপ্লিকেশন / অ্যাপ্লিকেশন / ইত্যাদি / মডিউল / New_Mage_Customer.xml

<?xml version="1.0"?>
<config>
 <modules>
      <New_Mage_Customer>
           <active>true</active>
           <codePool>local</codePool>
      </New_Mage_Customer>
  </modules>
</config>

অ্যাপ্লিকেশন / কোড / স্থানীয় / নতুন / পুরোনো যাদুকর / কাস্টমার জন্য / etc / config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <New_Mage_Customer>
            <version>0.0.1</version>
        </New_Mage_Customer>
    </modules>
    <frontend>
        <routers>
            <customer>
                <args>
                    <modules>
                        <new_customer before="Mage_Customer">New_Mage_Customer</new_customer>
                    </modules>
                </args>
            </customer>
        </routers>
    </frontend>
</config>

অ্যাপ্লিকেশন / কোড / স্থানীয় / নতুন / পুরোনো যাদুকর / গ্রাহক / কন্ট্রোলার / AccountController.php

<?php

/**
 * Customer account controller
 */
require_once 'Mage/Customer/controllers/AccountController.php';

class New_Mage_Customer_AccountController extends Mage_Customer_AccountController {

    public function ajaxAction() {
        echo 'ajax!!';
    }

    public function testAction() {
        echo 'test222';
    }

    public function loginAction() {
        echo 'index';
    }

}

ধন্যবাদ!


উত্তর:


22

ফাইলটির নাম অ্যাপ্লিকেশন / ইত্যাদি / মডিউল / নিউ_মেজ.এক্সএমএল হবে

<?xml version="1.0"?>
<config>
 <modules>
      <New_Mage>
           <active>true</active>
           <codePool>local</codePool>
      </New_Mage>
  </modules>
</config>

ইন অ্যাপ্লিকেশন / কোড / স্থানীয় / নতুন / পুরোনো যাদুকর, / etc / config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <New_Mage>
            <version>0.0.1</version>
        </New_Mage>
    </modules>
    <frontend>
        <routers>
            <customer>
                <args>
                    <modules>
                        <New_Mage before="Mage_Customer">New_Mage</New_Mage>
                    </modules>
                </args>
            </customer>
        </routers>
    </frontend>
</config>

নিয়ামক অ্যাপ্লিকেশন / কোড / স্থানীয় / নতুন / মাইজ / নিয়ন্ত্রক / অ্যাকাউন্টকন্ট্রোলআরএফপি করবে

/**
 * Customer account controller
 */
require_once Mage::getModuleDir('controllers', 'Mage_Customer') . DS . 'AccountController.php';

class New_Mage_AccountController extends Mage_Customer_AccountController {

    public function ajaxAction() {
        echo 'ajax!!';
    }

    public function testAction() {
        echo 'test222';
    }

    public function loginAction() {
        echo 'index';
    }

}

উল্লেখ


এটি customerসহ সমস্ত অনুরোধগুলি ওভাররাইড করবে না example.com/customer/address/new/? এবং যদি এই নতুন মডিউলে কোনও ঠিকানা নিয়ন্ত্রক না থাকে, সমস্ত /customer/address/*অনুরোধ এখন 404 হবে
নিক রোল্যান্ডো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.