通过清心醉

magento换主题,删除主题,同类型主题替换

magento换主题是很简单的,一般都是上传到服务器上的根目录即可。

然后在后台-》系统-》配置-》设计里的包囊和主题里写上即可。

包囊的位置一般是:app/design/forntend/包囊

而主题的位置一般位于 :app/design/forntend/default/主题

我们网上下载的magento主题,要区分修改的地方,一般直接看下APP的目录就可以了。

接着就是以标题为主,如果遇到的是同类型的主题,会在app/etc/modules里重复。

作者测试超过50个的magento主题,发现大部分的模板,都是属于同一类型,只是修改了不同的CSS+JS,如果一来,替换主题就会遇见问题,设置出错,系统崩溃等问题。

以作者为例,今天复制了一个站点的所有数据,要替换一个主题,因为直接覆盖容易出错,又不可能大部分的文件都一一去审核,于是删除了当前主题的所以目录,包括modules模板(这个千万不能乱删啊,如果你有老主题的modules,可以参考着来删除,或者查看当前主题的模板有哪些,一一找出文件名来删除),等删除了重新上传新主题。

传好后提示Mage.php错误。完了 rm -rf var命令也使上了,还是提示错误,根据错误的代码,查看了下:

public static function getResourceHelper($moduleName)
{
$registryKey = ‘_resource_helper/’ . $moduleName;
if (!self::registry($registryKey)) {
$helperClass = self::getConfig()->getResourceHelper($moduleName);
self::register($registryKey, $helperClass);
}

return self::registry($registryKey);

}

这就是乱删模板的代价 报错了,模板名称的问题。具体不太懂

 

好吧,说下删除、替换新类型的主题之后的自救方法:使用编译过程重新编译。因为作者后台已经设置了网站的的包和主题,如果在删除旧主题不设置,默认是会使用default,但因为主题核心代码编译过的问题,一样会给你报错。

SSH指令:

cd shell # 进入shell目录

php -f compiler.php compile #执行编译

#如果不知道编译模式是否已经打开

可以用: php -f compiler.php state

然后看看输出的Compier Status:是为Enabled还是Disabled

 

以上是网上转过来的关闭和开启的编译指令:

  1. $php -f compiler.php disable
  2. Compiler include path disabled
  3. $php -f compiler.php state
  4. Compiler Status: Disabled
  5. Compilation State: Compiled
  6. Collected Files Count: 6000
  7. Compiled Scopes Count: 4
  8. $php -f compiler.php enable
  9. Compiler include path enabled
  10. $php -f compiler.php state
  11. Compiler Status: Enabled
  12. Compilation State: Compiled
  13. Collected Files Count: 6000
  14. Compiled Scopes Count: 4

还有一个就是修改includes/config.php文件

#define(‘COMPILER_INCLUDE_PATH’, dirname(__FILE__).DIRECTORY_SEPARATOR.’src’);
#define(‘COMPILER_COLLECT_PATH’, dirname(__FILE__).DIRECTORY_SEPARATOR.’stat’);

 

把这两行前面的#去掉即可打开编译。

关于作者

清心醉 administrator

发表评论

请输入验证码: