নিয়ামক ম্যাজেন্টো পুনরায় লিখুন


12

কন্ট্রোলার থেকে _initAction নামে আমার ক্রিয়াটি ওভাররাইট করা দরকার:

/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php

আমার নিজস্ব মডিউল এবং নিয়ামক মধ্যে:

/app/code/local/Qbikz/ToolTip/controllers/Adminhtml/Catalog/Product/AttributeController.php

আমি এর সমাধান করার জন্য ইতিমধ্যে বিভিন্ন উপায়ে চেষ্টা করেছি: প্রথম পদ্ধতিটি যেখানে <from>এবং <to>আমি বিভিন্ন সংমিশ্রণ চেষ্টা করেছি (404 পৃষ্ঠা পাওয়া যায় নি):

 <rewrite>
     <qbikz_tooltip_adminhtml_catalog_product_attribute>
         <from><![CDATA[#^/adminpanel/catalog_product_attribute/edit/#]]></from>
         <to>/tooltip/adminhtml_catalog_product_attribute/init/</to>
     </qbikz_tooltip_adminhtml_catalog_product_attribute>
</rewrite>

+ +

 <frontend>
        <routers>
            <qbikz_tooltip>
                <use>admin</use>
                <args>
                    <module>Qbikz_ToolTip</module>
                    <frontName>catalog_product_attribute</frontName>
                </args>
            </qbikz_tooltip>
        </routers>
    </frontend>

দ্বিতীয় পদ্ধতি (পৃষ্ঠাটি আমার বিধি উপেক্ষা সহ দেখানো হচ্ছে):

<admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Qbikz before="Mage_Adminhtml_Catalog_Product">Qbikz_ToolTip_Adminhtml_Catalog_Product</Qbikz>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>

আমার নিয়ামকটিতে আমি ডাই ("ঠিক আছে") রেখেছি; কিন্তু এটি প্রদর্শিত হচ্ছে না। কেউ সাহায্য করতে পারে? ধন্যবাদ।


ক্যাশে সাফ করার কথা মনে আছে? বিশেষত কনফিগার ক্যাশে?
বেনুবার্ড

"অবসর নিয়ন্ত্রক"? ওটা কী?
বাটাল বুট্কাস

হ্যাঁ, আমার ক্যাশে বন্ধ থাকলে।
স্টাপার

ওভাররাইট ঠিক আছে? আমার ইংরেজি = জন্য দুঃখিত)
ছিপি

বন্ধুরা দয়া করে আমার থ্রেডটির উত্তর দিন- magento.stackexchange.com/questions/98758/…
অনুপ চৌধুরী চৌধুরী

উত্তর:


15

দ্বিতীয় পদ্ধতিটি ব্যবহার করুন তবে কিছুটা সংশোধন করা হয়েছে। আপনার এক্সএমএলটি দেখতে এমন হওয়া উচিত:

<admin>
    <routers>
        <adminhtml>
            <args>
                <modules>
                    <Qbikz_ToolTip before="Mage_Adminhtml">Qbikz_ToolTip_Adminhtml</Qbikz_ToolTip>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

এখন Qbikz/ToolTip/controllers/Adminhtml/Catalog/Product/AttributeController.phpএই বিষয়বস্তু দিয়ে ফাইলটি তৈরি করুন :

<?php 
require_once 'Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php';
class Qbikz_ToolTip_Adminhtml_Catalog_Product_AttributeController extends Mage_Adminhtml_Catalog_Product_AttributeController {
   protected function _initAction(){
       //your magic here
   }
}

@ মারিয়াস একটি ফাইল, আপনার উপায় বা প্রয়োজনীয়_অনসেস (ম্যাজ :: getModuleDir ('নিয়ন্ত্রক', 'Mage_Adminhtml')। ডিএস। অতিরিক্ত হিসাবে আমি জানতে চাই যে আমরা একটি একক মডিউলে ব্লক এবং নিয়ামক পুনরায় লিখতে পারি বা ব্লক লিখতে এবং নিয়ামকের চেয়ে আলাদা মডিউল লিখতে হয় কিনা।
আদনান

উভয় উপায়ে একই ফল রয়েছে। তবে আপনি যদি 100% রাজনৈতিকভাবে সঠিক হতে চান তবে আপনার উল্লিখিত পদ্ধতিটি ব্যবহার করুন। এছাড়াও আপনি একই মডিউলটি ব্লক এবং কন্ট্রোলারগুলি পুনরায় লিখতে ব্যবহার করতে পারেন।
মারিয়াস

Mage_Checkout :: কার্টকন্ট্রোলআরএফপি এর ইনডেক্স অ্যাকশন () কে ওভাররাইড করার চেষ্টা করার সময় এটি কাজ করছে না বলে মনে হচ্ছে।
সর্বাধিক

1.9.4.2 এ এটি আমার জন্য একটি ত্রুটি নিক্ষেপ করছে। নিয়ামক একটি 404 ছুড়ে ফেলেছেন Perhaps সম্ভবত এখন এটি করার আলাদা উপায় আছে? চেকআউট নিয়ন্ত্রককে ওভাররাইড করার সময় আমার সাথে এটি ঘটছে
গাবতজী

0

আমার শিষ্টাচেকআউট এক্সটেনশনে কনফিগারেশন ফাইল: অ্যাপ্লিকেশন / কোড / স্থানীয় / গুরুথেম / ওনেস্টেপচেকআউট / ইত্যাদি / কনফিগারেশন। এক্সএমএল

<frontend>
        <routers>
             <checkout>
                <args>
                    <modules>
                        <Gurutheme_Onestepcheckout before="Mage_Checkout">Gurutheme_Onestepcheckout</Gurutheme_Onestepcheckout>
                    </modules>
                </args>
            </checkout>
        </routers>
</frontend>

আমি একটি কন্ট্রোলার যুক্ত করেছি

app/code/local/Gurutheme/Onestepcheckout/controllers/OnepageController.php

ওনপেজ কোর নিয়ামককে ওভাররাইড করার জন্য

app/code/core/Mage/Checkout/controllers/OnepageController.php

এটি সেই ওভাররাইডিং নিয়ামকের মূল উত্স কোড:

require_once("Mage/Checkout/controllers/OnepageController.php");

class Gurutheme_Onestepcheckout_OnepageController extends Mage_Checkout_OnepageController {

}

মূল জিনিসটি যখন ম্যাজেন্টো নিয়ন্ত্রকদের পুনর্লিখন করা হয় তখন আমাদের আসলটি অন্তর্ভুক্ত করা উচিত এবং এর থেকে প্রসারিত করা উচিত, এটি সমস্ত প্রাক-বিল্ট বৈশিষ্ট্যগুলি কাজ করার আগে সমস্ত নেটিভ আচরণে সহায়তা করে।


আপনি যদি আপনার ওভাররাইড করা ক্রিয়াকলাপগুলিতে মূল শ্রেণীর অতিরিক্ত (সুরক্ষিত) পদ্ধতির উপর নির্ভর করেন তবেই। আপনার নিয়ামকটিতে অনুপস্থিত সমস্ত ক্রিয়া মূল নিয়ামক দ্বারা পরিচালিত হবে। মনে রাখবেন আপনি প্রযুক্তিগতভাবে নিয়ামকটিকে পুনরায়
লিখবেন

সম্পূর্ণরূপে সম্মত, আমরা এটিকে আসলে পুনরায় রুট করি তবে যে কোনও বিদ্যমান কোড উত্তরাধিকার সূত্রে মূল কোডটি প্রসারিত করা উচিত
ফানভুগিয়াপ

-1

আমি এন্টারপ্রাইজ ইচ্ছার তালিকার নিয়ামককে আবার লিখেছি।

আমার মধ্যে config.xml

<frontend>
    <routers>
        <wishlist>
            <args>
                <modules>
                    <namespace_modulename before="Enterprise_Wishlist">Namespace_Modulename</namespace_modulename>
                </modules>
                <module>Namespace_Modulename</module>
                <frontName>shoppinglist</frontName>
            </args>
        </wishlist>
    </routers>
</frontend>

এবং আমার IndexControllerনীচে লাইন যুক্ত করুন:

require_once 'Enterprise/Wishlist/controllers/IndexController.php';

//before

class Namespace_Modulename_IndexController extends Enterprise_Wishlist_IndexController{}

আপনি এই জাতীয় সাহায্যকারীকেও আবার লিখতে পারেন: /magento//a/91474/33509

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.