ในลำดับมีผลกระทบต่อmodule.xml
app/etc/config.php
ไฟล์นี้ได้รับการปรับปรุงเมื่อคุณเรียกใช้bin/magento module:enable Vendor_ModuleName
ดังนั้นหากคุณเพิ่ม / เปลี่ยนแปลงลำดับฉันขอแนะนำให้ปิดการใช้งานโมดูลของคุณแล้วเปิดใช้งานอีกครั้ง การอัปเดตของคุณmodule.xml
ไฟล์และการล้างแคชของคุณไม่เพียงพอที่นี่คุณจะต้องทำเต็มรูปแบบdisable
อีกenable
รอบจะได้รับวีโอไอพีเพื่อดูการเปลี่ยนแปลงลำดับในระหว่างการพัฒนา
ลำดับการเรียงของโมดูลในconfig.php
ไฟล์นั้นจะถูกใช้สำหรับการโหลดไฟล์การกำหนดค่าอื่น ๆ ทั้งหมดตามความคิดเห็นของ Anton ที่นี่
รหัสสถานที่ในความคิดเห็นนั้นล้าสมัยไปแล้ว นี่คือรหัสสำหรับการเรียงลำดับhttps://github.com/magento/magento2/blob/2.0.2/lib/internal/Magento/Framework/Module/ModuleList/Loader.php#L131
อัปเดต 2:
app / etc / di.xml
<type name="Magento\Framework\View\Model\Layout\Merge">
<arguments>
<argument name="fileSource" xsi:type="object">Magento\Framework\View\Layout\File\Collector\Aggregated\Proxy</argument>
<argument name="pageLayoutFileSource" xsi:type="object">pageLayoutFileCollectorAggregated</argument>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Layout</argument>
</arguments>
</type>
ซึ่งอ้างอิงตัวรวบรวมไฟล์โครงร่างหน้าใน di.xml เดียวกัน
<virtualType name="pageLayoutFileCollectorAggregated" type="Magento\Framework\View\Layout\File\Collector\Aggregated">
<arguments>
<argument name="baseFiles" xsi:type="object">pageLayoutFileSourceBaseSorted</argument>
<argument name="themeFiles" xsi:type="object">pageLayoutFileSourceThemeSorted</argument>
<argument name="overrideBaseFiles" xsi:type="object">pageLayoutFileSourceOverrideBaseSorted</argument>
<argument name="overrideThemeFiles" xsi:type="object">pageLayoutFileSourceOverrideThemeSorted</argument>
</arguments>
</virtualType>
สิ่งที่เราสนใจนั้นpageLayoutFileSourceBaseSorted
ยังคงอยู่ใน di.xml เดียวกัน
<virtualType name="pageLayoutFileSourceBaseSorted" type="Magento\Framework\View\File\Collector\Decorator\ModuleDependency">
<arguments>
<argument name="subject" xsi:type="object">pageLayoutFileSourceBaseFiltered</argument>
</arguments>
</virtualType>
Magento\Framework\View\File\Collector\Decorator\ModuleDependency
ไม่เรียงลำดับดังต่อไปนี้
protected function getModulePriority($moduleName)
{
if ($this->orderedModules === null) {
$this->orderedModules = $this->moduleList->getNames();
}
$result = array_search($moduleName, $this->orderedModules);
// Assume unknown modules have the same priority, distinctive from known modules
if ($result === false) {
return -1;
}
return $result;
}
ที่moduleList
ตั้งอยู่บนพื้นฐานMagento\Framework\Module\ModuleList
ซึ่งจะใช้วิธีพับที่กล่าวถึงข้างต้น