sự khác biệt giữa đầu ra mô-đun vô hiệu hóa và mô-đun kích hoạt = true


16

Trong magento tôi biết rằng chúng ta có thể hủy bỏ mô-đun của mình bằng hai cách

  1. Bằng cách điều hướng trong phụ trợ Magento đến Hệ thống> Cấu hình> Nâng cao> Tắt đầu ra mô-đun, chúng tôi có thể dễ dàng vô hiệu hóa một số mô-đun.
  2. Trong thư mục ứng dụng / etc / mô-đun, bằng cách thay đổi thẻ hoạt động từ true thành false.

Tôi có thể biết sự khác biệt chính xác trong hai kỹ thuật này là gì không? Nó rất hữu ích nếu có ai trả lời chi tiết hơn.


1
Câu hỏi hay ..
Amit Bera

@AmitBera, Cảm ơn bạn
Charlie

Câu trả lời:


17
  1. System > Configuration > Advanced > DisableMô-đun đầu ra sẽ không thực sự vô hiệu hóa mô-đun đó. Nó hoạt động như tên gợi ý, vô hiệu hóa đầu ra mô-đun.

    Khi bạn nhìn vào

    abstract class Mage_Core_Block_Abstract

    Trong

    final public function toHtml()
    {
        Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this));
        if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) {
            return '';
        } 
    
    // It is checking If its in disabled mode then just return blank output
    .......
    }
  2. Trong khi app/etc/modulesmô-đun bị vô hiệu hóa hoàn toàn


Câu trả lời hoàn hảo ...
Kartik Asodariya

3
  1. Bằng cách điều hướng trong phụ trợ Magento đến Hệ thống> Cấu hình> Nâng cao> Tắt đầu ra mô-đun, chúng tôi có thể dễ dàng vô hiệu hóa một số mô-đun.

    - Điều đó có nghĩa là mô-đun sẽ không hiển thị, không gửi đầu ra ra màn hình nhưng mô-đun của bạn thực thi. Hãy xem ứng dụng / code / core / Mage / Core / Block / Abstract.php -> toHtml

    if (Mage :: getStoreConfig ('advanced / module_disableDefput /'. $ this-> getModuleName ())) {return ''; }

  2. Trong thư mục ứng dụng / etc / mô-đun , bằng cách thay đổi thẻ hoạt động từ true thành false.

    ---- đúng / sai xác định mô-đun của bạn sẽ được tải hoặc bỏ qua. Hãy xem app/code/core/Mage/Core/Model/Config.php->loadModulesConfiguration

foreach ($ mô-đun như $ modName => $ mô-đun) {if ($ mô-đun-> là ('hoạt động')) {-------}}


2

Khi bạn chỉ Disable Modules Output, điều đó có nghĩa là mô-đun sẽ không hiển thị bất cứ thứ gì trên màn hình, theo thuật ngữ lập trình: _toHtml()chức năng sẽ không trả về gì. Mọi thứ khác (quan sát, viết lại, điều khiển) vẫn sẽ được thực thi.

Lý tưởng nhất là nếu bạn muốn tắt mô-đun đúng cách, hãy đặt "Hoạt động" thành falsevà đảm bảo không có mô-đun nào khác mở rộng mô-đun.


2

Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.Hành động này chỉ vô hiệu hóa đầu ra mô-đun như nó nói. Nếu mô-đun của bạn sử dụng, giả sử một số chức năng của Trình quan sát để nối vào một phần của hệ thống và thực hiện một số phần ghi đè thì những hành động đó sẽ không bị vô hiệu hóa.

Để vô hiệu hóa hoàn toàn mô-đun, bạn cần truy cập tệp cấu hình mô-đun, như /etc/NAMESPACE_MyModule.xmlvà đặt tham số hoạt động của nó thành false, như:

< ?xml version="1.0"?>
<config>
<modules>
<NAMESPACE_mymodule>
<active>false</active>
<codepool>local</codepool>
</NAMESPACE_mymodule>
</modules>
</config>

Nếu chúng ta thay đổi thẻ hoạt động thành false, nó có tải mô-đun không? Magento xử lý việc này như thế nào?
Charlie

nó vẫn tải mô-đun nó sẽ hiển thị trong hệ thống> cấu hình> nâng cao. không tải tập tin mô-đun như etc / config.xml.
Qaisar Satti

0

"Vô hiệu hóa đầu ra mô-đun" chỉ vô hiệu hóa đầu ra khối được xác định bởi tiện ích mở rộng. Nó không bỏ qua việc thực hiện mô-đun mã của nó, ví dụ, nếu nó có các quan sát viên được xác định.


Tập tin nào sẽ tải và tập tin nào không có trong cả hai trường hợp?
Charlie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.