Magento – vô hiệu hóa đầu ra mô-đun thông qua XML cho trang web

giấu tênNó luôn luôn có thể xảy ra một lần nữa lần, rằng có vấn đề với phần mở rộng, chết z.B. chỉ được cấp phép cho một tên miền. Về các phụ trợ phần mở rộng sau đó chỉ đối số này là một trang web / đến một cửa hàng với các tên miền được kích hoạt và tất cả các khuyết tật khác nhưng phần mở rộng ảnh hưởng đến các cửa hàng khác và cản trở hoặc ngăn chặn màn hình hiển thị trong các lối vào.

Anders cũng mở rộng được kích hoạt là phe triển / và không có tùy chọn cấu hình, để xác định, trong đó cửa hàng hoặc. mà các trang web mở rộng không nên kích hoạt và nơi.

tôi nghĩ, nhưng nó phải là một cách trực tiếp vào module một số Kết hợp XML trong thư mục etc / modules trong extension.xml tương ứng, rằng nó là “nếu trang web X, sau đó tích cực; nếu trang web của Y sau đó không hoạt động”.

sau khi một số tìm kiếm và xem xét, tôi thấy các giải pháp:

1. Nếu config.php sao chép từ các ứng dụng thư mục / code / core / Mage / Core / Model trong ứng dụng thư mục / code / local / Mage / Core / Model và sau đó có ca. từ dòng 850 qua

        $modules = $this->getNode('Module')->children();
        cho mỗi ($modules as $modName=>$module) {
            nếu ($module->là('Hoạt động')) {

tìm kiếm.

Có rồi

            // Website Restriktion Start
            if((bool)$module->hạn chế) {
                $hạn chế = explode(',', (chuỗi)$module->hạn chế);
                $runCode = (isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'mặc định');
                nếu(in_array($runCode, $hạn chế)) {
                    tiếp tục;
                }
            }
            // Trang cuối hạn chế

nhúng, do đó tất cả các mã sau đó trông:

    chức năng công cộng loadModulesConfiguration($fileName, $mergeToObject = null, $mergeModel = null)
    {
        $disableLocalModules = !$điều này->_canUseLocalModules();

        nếu ($=== Vô mergeToObject) {
            $mergeToObject = clone $this->_prototype;
            $mergeToObject->loadString('<config/>');
        }
        nếu ($=== Vô mergeModel) {
            $mergeModel = clone $this->_prototype;
        }
        $modules = $this->getNode('Module')->children();
        cho mỗi ($modules as $modName=>$module) {
            nếu ($module->là('Hoạt động')) {
            // Website Restriktion Start
            if((bool)$module->hạn chế) {
                $hạn chế = explode(',', (chuỗi)$module->hạn chế);
                $runCode = (isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'mặc định');
                nếu(in_array($runCode, $hạn chế)) {
                    tiếp tục;
                }
            }
            // Website Restriktion Ende            
                if ($disableLocalModules && ('Địa phương' === (chuỗi)$module->codePool)) {
                    tiếp tục;
                }
                $configFile = $this->getModuleDir('Vv', $modName).DS. $ FileName;
                nếu ($mergeModel->loadFile($configfile)) {
                    $mergeToObject->extend($mergeModel, thật);
                }
            }
        }
        return $ mergeToObject;
    }

Những dòng Magento là để tôn trọng dựa vào nó, dù hạn chế đã được định nghĩa trong module hay không XML.

Bây giờ, để thiết lập như một, để mở tương ứng [mô-đun].xml và chèn trước <codePool> dòng

<hạn chế>[của mã cửa hàng loại trừ, có thể được phân cách bằng dấu phẩy nếu nhiều cửa hàng]</hạn chế>

Kể từ khi nó có thể được trong toàn bộ vấn đề, rằng nó là một đa-lưu trữ, Vì vậy, nhiều trang web từ một phụ trợ Magento nó vẫn quan trọng, rằng sự phân chia của các cửa hàng bởi biến $ _SERVER “MAGE_RUN_CODE” được định nghĩa. Nơi này là ví dụ. trong index.php trong thư mục gốc.

công tắc điện($_SERVER['HTTP_HOST']) {

// cửa tiệm 1

trường hợp 'shop1.de';
trường hợp 'www.shop1.de';

$_SERVER["MAGE_RUN_CODE"] = "shop1";

$_SERVER["MAGE_RUN_TYPE"] = "trang mạng";

phá vỡ; 

// Shop2 (cửa hàng mặc định)

mặc định:

$_SERVER["MAGE_RUN_CODE"] = "shop2";

$_SERVER["MAGE_RUN_TYPE"] = "trang mạng";

phá vỡ;

do đó người ta sẽ ví dụ ở đây. “shop1” sử dụng như hạn chế, nếu module không hoạt động ở đây.

quan trọng: Xoá bộ nhớ cache. phương pháp an toàn nhất và bộ nhớ cache thư mục trong var đổi tên và / hoặc xóa. Magento sẽ tự động tạo ra một cái mới.

Được sử dụng trong Magento Version 1.4.1.1 bình luận? bổ sung? Ghi chú? vui vẻ!

Xuất bản bởi sợi Dệt

từ 2009 Tôi đã làm việc chặt chẽ với Magento. Tôi bắt đầu với việc tạo ra và hoạt động của các cửa hàng B2C. Điều này đã được mở rộng thông qua công việc của tôi trong lĩnh vực logistics. Điều này dẫn đến hệ thống B2E đầu tiên chuyên. Hôm nay tôi làm việc ngày một ngày với B2C thú vị, B2B- và các dự án B2E và báo cáo trong blog này về những thách thức và đưa ra lời khuyên trong cuộc.

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *