magento创建自己的包或使用默认值
我喜欢创建一个新的包的主要原因是,它允许您在商店主题和默认捆绑的Magento主题之间保持干净的分隔。另一方面,大多数扩展将布局和模板文件安装到app/design/frontend/default/default/中,如果主题安装在默认软件包下,magento将找到扩展前端文件,否则您必须始终将扩展文件复制到app/design/frontend/package/default/。因此,使用您自己的软件包需要做更多的工作magento创建自己的包或使用默认值,magento,themes,installation,packages,Magento,Themes,Installation,Packages,我喜欢创建一个新的包的主要原因是,它允许您在商店主题和默认捆绑的Magento主题之间保持干净的分隔。另一方面,大多数扩展将布局和模板文件安装到app/design/frontend/default/default/中,如果主题安装在默认软件包下,magento将找到扩展前端文件,否则您必须始终将扩展文件复制到app/design/frontend/package/default/。因此,使用您自己的软件包需要做更多的工作 我很想知道我是否遗漏了其他东西,那么在Magento中创建自己的主题包与
我很想知道我是否遗漏了其他东西,那么在Magento中创建自己的主题包与使用默认包相比有哪些好处 首先,创建一个新包是Magento官方用户指南需要做的事情 它是这样说的: “请忽略旧版Magento说明和教程,这些说明和教程指示您在默认设计包内创建自定义主题,或直接编辑默认/默认目录中的文件。相反,为主题提供最佳升级路径和防止意外更改的方法是创建新的设计包。”并在其中创建自定义主题。”
我个人创建新包的逻辑是,如果Magento需要很少的商店视图,并且它们有差异,我需要有自己的“默认”主题,这正是我创建自己的包所得到的(Magento将在自定义设计包中的“我的”主题中查找文件,然后在默认主题中查找文件,然后返回到基本包)如果您使用default/default,并且您使用的第三方扩展将其文件置于default/default中,那么您不能覆盖这些文件-您必须直接编辑它们 那么
您只能覆盖包中所需的模板/布局 两个文件夹/app/design和/skin是相同的(我们可以说是镜像)。将所有css、图像文件保存在/skin/your_theme目录下,并将布局的.phtml保存在/app/design/your_theme文件夹中。从我的角度来看,默认/默认包设计不好。 如果您使用自己的包,则扩展无法使用默认目录(?对?)。 我建议添加一个字段默认包 我使用的是now-config.xml:
<core>
<rewrite>
<design_package>Your_Extension_Model_Design_Package</design_package>
</rewrite>
</core>
我也是。这是Magento认证研究指南中的一个问题,我的团队中没有人真正有一个明确的答案-我们得出的结论是,这样做没有什么真正的好处,除了更容易组织和分离您自己的主题。对于我们的内部模块,我们使用默认/默认系统,但始终将我们的文件保存在该目录下(布局、模板)的目录中,以避免与其他模块或将来添加的magento发生任何文件名冲突。我认为该软件包对于开发主题的公司来说可能很方便,可以将其主题分组,并将其与其他主题分开。在任何情况下,主题/皮肤机制都将在Magento 2中进行(并且部分进行)返工。谢谢大家的支持。非常感谢。非常正确,谢尔盖。另外,官方建议将自定义模块模板和布局文件放在相应名称空间的base/default中。谢谢,Ben。由于自定义和回退过程,我被教导将所有自定义模块模板转移到基本/默认模式,并将模块代码从“本地”转移到“社区”池(不幸的是,即使一些最著名的模块开发人员将其扩展放在本地文件夹中,也没有机会在没有更新问题的情况下自定义其ext)。+1。这是相当恼人的社区扩展的数量与布局和默认包中的模板文件,只有一个自述文件说,移动我到您的包/主题。谢谢大家的意见。非常有价值的信息。
class Your_Extension_Model_Design_Package extends Mage_Core_Model_Design_Package
{
/**
* Use this one to get existing file name with fallback to default
*
* $params['_type'] is required
*
* @param string $file
* @param array $params
* @return string
*/
public function getFilename($file, array $params)
{
Varien_Profiler::start(__METHOD__);
$this->updateParamDefaults($params);
$result = $this->_fallback($file, $params, array(
array(),
//'_package' is new. Uses this package when looking for default theme
array('_theme' => $this->getFallbackTheme()),
array('_theme' => self::DEFAULT_THEME, '_package' => 'default'),
));
Varien_Profiler::stop(__METHOD__);
return $result;
}
}