لماذا التسجيل.وأضاف فب في الماجنتو-2.0.0-الصليب الأحمر?

magento.stackexchange https://magento.stackexchange.com//questions/89510

  •  13-12-2019
  •  | 
  •  

سؤال

مؤخرا magento-2.0.0-RC تم إطلاقه وأضافوا registration.php في كل مجلد الجذر وحدة?لذلك أريد فقط أن أعرف هل هناك أي سبب لذلك?

يمكن للشخص وضع الضوء على هذا?

هل كانت مفيدة؟

المحلول

registration.php هو نوع من نقطة دخول الوحدة الخاصة بك.انها تعادل app/etc/modules/[Namespace]_[Module].xml من الماجنتو 1.
ولكن الآن ، هو جزء من الوحدة نفسها.
انها تسمح لك لإنشاء وحدات في app/code المجلد وفي vendor مجلد كذلك.
بغض النظر عن مكان إضافته ، سيتم التقاط هذا الملف من قبل الماجنتو وسيتم أخذ الوحدة الخاصة بك في الاعتبار.

نصائح أخرى

لقد لاحظت تم تغيير شيء اثنين من الماجنتو الاصدار.1.0.0-بيتا (أكتوبر) إلى الماجنتو الاصدار.2.0.0-اتفاقية روتردام 2
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.حدث.تم تغيير شمل السابق نذكر اسم الطريقة في علامة المراقب في الحدث.تمت إزالة طريقة شمل الآن ناتئة تحتاج إلى ذكر المثال الوحيد الذي هو

<?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>

وفي/مودولينام / مجلد المراقب تحتاج إلى إنشاء ملف مع وظيفة

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;
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top