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
以上是网上转过来的关闭和开启的编译指令:
- $php -f compiler.php disable
- Compiler include path disabled
- $php -f compiler.php state
- Compiler Status: Disabled
- Compilation State: Compiled
- Collected Files Count: 6000
- Compiled Scopes Count: 4
- $php -f compiler.php enable
- Compiler include path enabled
- $php -f compiler.php state
- Compiler Status: Enabled
- Compilation State: Compiled
- Collected Files Count: 6000
- 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’);
把这两行前面的#去掉即可打开编译。
关于作者