Opencart系统/修改文件夹如何运作?

Adr*_*ian 3 opencart

我是OC 2.X的新手,我注意到我正在对网站进行更改,但他们并没有出现.当我在系统/修改文件夹中进行更改时,出现了更改.我认为这个文件夹是新的,与vqmod无关.我认为它基本上优先于核心文件.

不幸的是,当我安装了一个插件时,它还重建了那个文件夹,所以我失去了所有的变化(我假设发生了什么事).

我想知道这总体如何运作?我必须为我想做的每一项改变做一个新的扩展吗?

我无法找到一个清晰简洁的解释,以解释开发人员的观点.

Vid*_*dya 6

您可以说它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;
}
Run Code Online (Sandbox Code Playgroud)