Nó 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ẻ!