मैगेंटो-2.0.0-आरसी में पंजीकरण। एफपी क्यों जोड़ा गया?


15

हाल ही magento-2.0.0-RCमें लॉन्च किया गया था और उन्होंने registration.phpप्रत्येक मॉड्यूल रूट फ़ोल्डर में जोड़ा ? इसलिए मैं सिर्फ जानना चाहता हूं कि क्या इसका कोई कारण है?

क्या कोई इस पर प्रकाश डाल सकता है?

जवाबों:


12

registration.phpआपके मॉड्यूल के प्रवेश बिंदु की तरह है। यह app/etc/modules/[Namespace]_[Module].xmlMagento 1 से बराबर है ।
लेकिन अब, मॉड्यूल का ही हिस्सा है।
यह आपको app/codeफ़ोल्डर में और vendorसाथ ही फ़ोल्डर में मॉड्यूल बनाने की अनुमति देता है ।
कोई फर्क नहीं पड़ता कि आप इसे कहाँ जोड़ते हैं, इस फाइल को Magento द्वारा उठाया जाएगा और आपके मॉड्यूल को ध्यान में रखा जाएगा।


जहाँ आप इसे जोड़ते हैं, इसका मतलब है कि मैं इस फाइल को ब्लॉक, मॉडल या कंट्रोलर डायरेक्टरी या किसी अन्य डायरेक्टरी की तरह कहीं भी रख सकता हूँ? @ मार्स
शाह

और क्या इसका कोई कारण है क्योंकि config.php पहले से ही है @ मायर
Keyur Shah

2
में config.phpकेवल मॉड्यूल के नाम दिखाई देते हैं और उनकी स्थिति (सक्षम / अक्षम)। मॉड्यूल के लिए कोई रास्ता नहीं है। जैसा कि मैंने उत्तर में कहा, registration.phpआपको बाहर मॉड्यूल रखने की अनुमति देता हैapp/code
मेरियस

3
: अधिक जानकारी के लिए इस देखें maxyek.wordpress.com/2015/03/27/...
मेरियस

@ माउस: तो मॉड्यूल पंजीकरण के बिना काम नहीं करना चाहिए। सही?
सुकेशिनी

1

मैंने देखा कि Magento ver से दो चीज़ों को बदल दिया गया था। Magento ver को 1.0.0-Beta (Oct)। 2.0.0-rc2
1. पंजीकरण के मॉड्यूल के रूट फ़ोल्डर में नई फ़ाइल को जोड़ा गया। पंजीकरण पूर्व: पूर्व-कोड \ कोड \ चीनीकोड ​​\ परीक्षण \ पंजीकरण। एफपी

<?php
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Sugarcode_Test',
    __DIR__
);

2. event.xml पिछली बार बदला गया था, हम घटना में पर्यवेक्षक टैग में विधि का नाम बता रहे हैं। xml अब विधि को हटा दिया गया था, आपको केवल उदाहरण का उल्लेख करने की आवश्यकता है

<?xml version="1.0"?>    
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
        <event name="sales_order_grid_collection_load_before">
            <observer name="sales_order_grid_test" instance="Sugarcode\Test\Observer\Addtest" />
        </event>

    </config>

और / ModuleName / ऑब्जर्वर फोल्डर में आपको फंक्शन वाली फाइल बनाने की जरूरत है

public function execute()

अर्थात्

<?php

namespace Sugarcode\Test\Observer;

class Addtest
{


    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $obj=$observer->getEvent()->getOrderGridCollection();
        $obj->getSelect()->joinLeft(
            ['testt' => 'testtable'],
            "(main_table.entity_id = testt.id)",
            [
                'testt.title as title'
            ]
        );
        //$this->printlogquery(true); 
        //return $obj;
    }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.