Opencart system/modifications 文件夹如何运作?
How does the Opencart system/modifications folder function?
我对 OC 2.X 很陌生,当我对网站进行更改时我注意到它们没有出现。当我在 system/modifications 文件夹中进行更改时,出现了更改。我认为这个文件夹是新的,与 vqmod 无关。我认为这是一个基本上优先于核心文件的文件。
不幸的是,当我安装一个插件时,它也重建了那个文件夹,所以我丢失了所有的更改(我假设这就是发生的事情)。
我想知道这总体上是如何工作的?我必须为我想做的每一个改变做一个新的扩展吗?
我找不到一个清晰简洁的解释来从开发人员的角度解释它。
可以说ocmod
和vqmod
是一样的,但在某些方面有所不同,opencart 2.0及以上版本默认提供。每次对模块进行任何更改时都必须重置修改缓存以查看其效果。像 vqmod
ocmod
也会生成缓存文件,这些文件放在修改文件夹中。并且此文件夹中的文件将先于原始文件。因为我认为你正在修改修改文件中的文件,如果你从管理面板清除修改缓存,你可能会丢失它们。
您可以查看 system/startup.php
文件以获得更多理解。
// Modification Override
function modification($filename) {
if (!defined('DIR_CATALOG')) {
$file = DIR_MODIFICATION . 'catalog/' . substr($filename, strlen(DIR_APPLICATION));
} else {
$file = DIR_MODIFICATION . 'admin/' . substr($filename, strlen(DIR_APPLICATION));
}
if (substr($filename, 0, strlen(DIR_SYSTEM)) == DIR_SYSTEM) {
$file = DIR_MODIFICATION . 'system/' . substr($filename, strlen(DIR_SYSTEM));
}
if (is_file($file)) {
return $file;
}
return $filename;
}
我对 OC 2.X 很陌生,当我对网站进行更改时我注意到它们没有出现。当我在 system/modifications 文件夹中进行更改时,出现了更改。我认为这个文件夹是新的,与 vqmod 无关。我认为这是一个基本上优先于核心文件的文件。
不幸的是,当我安装一个插件时,它也重建了那个文件夹,所以我丢失了所有的更改(我假设这就是发生的事情)。
我想知道这总体上是如何工作的?我必须为我想做的每一个改变做一个新的扩展吗?
我找不到一个清晰简洁的解释来从开发人员的角度解释它。
可以说ocmod
和vqmod
是一样的,但在某些方面有所不同,opencart 2.0及以上版本默认提供。每次对模块进行任何更改时都必须重置修改缓存以查看其效果。像 vqmod
ocmod
也会生成缓存文件,这些文件放在修改文件夹中。并且此文件夹中的文件将先于原始文件。因为我认为你正在修改修改文件中的文件,如果你从管理面板清除修改缓存,你可能会丢失它们。
您可以查看 system/startup.php
文件以获得更多理解。
// Modification Override
function modification($filename) {
if (!defined('DIR_CATALOG')) {
$file = DIR_MODIFICATION . 'catalog/' . substr($filename, strlen(DIR_APPLICATION));
} else {
$file = DIR_MODIFICATION . 'admin/' . substr($filename, strlen(DIR_APPLICATION));
}
if (substr($filename, 0, strlen(DIR_SYSTEM)) == DIR_SYSTEM) {
$file = DIR_MODIFICATION . 'system/' . substr($filename, strlen(DIR_SYSTEM));
}
if (is_file($file)) {
return $file;
}
return $filename;
}