【问题标题】:Magento - best practices for making modifications to a themeMagento - 修改主题的最佳实践
【发布时间】:2015-09-10 01:35:51
【问题描述】:

我正在使用 Magento 1.9 并安装了 Trego 制作的主题。在保留供应商源代码的同时更新 Trego 模板的最佳方法是什么?具体来说,我需要修改以下模板:

/app/design/frontend/default/trego/template/catalog/product/view/options/type/text.phtml

出于测试目的,这就是我所做的(遵循下面 Suman 的解决方案):

/app/design/frontend/default/trego/template/catalog/product/view/options/type/text.phtml

original file

/app/design/frontend/default/tregonew/template/catalog/product/view/options/type/text.phtml

modified file

在管理面板中,在 System => Configuration => Design 下,我打开了 Package 选项卡和 Themes 选项卡。这是我的设置:

Current Package Name: rwd
Translations: (blank)
Templates: tregonew
Skin: tregonew
Layout: tregonew      
Default: trego

不幸的是,我的系统仍在渲染“原始文件”而不是“修改后的文件”。我错过了什么?

更新: 请参阅下面苏曼的回答。它就像一个魅力。一些注意事项,以防其他人在这个话题上苦苦挣扎:

  1. 确保您没有有效的设计更改(系统 => 设计),这会覆盖此处描述的解决方案。请注意,我所指的设计更改与按照 Suman 的解决方案(系统 => 配置 => 设计)中的说明选择包和主题不同。 Suman 的解决方案一开始对我不起作用,因为我有一个设计更改(系统 => 设计),Magento 覆盖了我在系统 => 配置 => 设计中的设置。

  2. 具体到下面 Suman 的回答,我认为他的意思是说您可以对以下内容进行编辑:

    "/app/design/frontend/default/tregonew/template/catalog/product/view/options/type/text.phtml"

    这将反映在输出而不是文件中:

    "/app/design/frontend/default/trego/template/catalog/product/view/options/type/text.phtml"

    正如他的回答中提到的那样。

  3. Magento 1.9 有一个新的主题层次系统,它使用 theme.xml 文件来引用父主题。我还没有尝试过,但如果有人觉得它有用,请参阅 Alan Storm 的 article

【问题讨论】:

    标签: magento


    【解决方案1】:

    请按以下步骤操作:

    新建文件夹 tregonew 进入默认文件夹

    /app/design/frontend/default/tregonew
    create template and layout folder
    /app/design/frontend/default/tregonew/template
    /app/design/frontend/default/tregonew/layout
    

    比复制你想要修改的模块像

    /app/design/frontend/default/trego/template/catalog
    to 
    /app/design/frontend/default/tregonew/template/catalog
    

    同时将皮肤文件复制到新文件夹

    /skin/frontend/default/trego
    to 
    /skin/frontend/default/tregonew
    

    现在您可以更改以下文件,它将反映输出。

    /app/design/frontend/default/trego/template/catalog/product/view/options/type/text.phtml
    

    在管理区域 系统 => 配置 =>左侧的设计选项卡

    Set your Package => Current Package Name = default
             Themes => Templates    = tregonew
             Themes => Skin (Images / CSS)   = tregonew
             Themes => Layout = tregonew
             Themes => Default = trego 
    

    【讨论】:

    • 谢谢。只是为了确认一下,我是否应该更改 /app/design/frontend/default/trego/template/catalog/product/view/options/type/text.phtml 或 /app/design/frontend/default/tregonew/template 的文件/catalog/product/view/options/type/text.phtml?由于我想保留原始的 Trego 代码,我正在对保存在“tregonew”文件夹中的文件进行编辑。不幸的是,系统正在渲染“trego”文件夹中的原始模板,而不是“tregonew”文件夹中的修改模板。我错过了什么?
    • 我阅读了 Alan Storm 的一篇文章 (alanstorm.com/magento_infinite_fallback_theme_xml),内容涉及 Magento 1.9 如何实现主题。您的解决方案是否也适用于 Magento CE 1.9?
    • 谢谢,苏曼。您的解决方案有效,我很欣赏详细的步骤。给 Magento 初学者的一个建议:确保您没有有效的设计更改(系统 => 设计),这会覆盖此处描述的解决方案。请注意,我所指的设计更改不同于按照 Suman 的解决方案中的说明输入包和主题的设置,在该解决方案中,用户通过配置(系统 => 配置 => 设计)导航到“设计”选项卡。
    【解决方案2】:

    将整个模板文件夹 Trego 复制到新文件夹 Tregonew 并修改主题。

    【讨论】:

    • 您能否提供一个示例,尤其是描述文件路径的示例?我想我尝试了类似的方法,但没有得到正确的结果,可能是因为我无法理解将文件放在哪里(即 /frontend/base/default vs /frontend/default/default vs /frontend/default/trego vs /frontend/default/(模块名称))。
    • 目前trego模板在哪里?只有您可以创建副本。
    • trego 模板位于:“/app/design/frontend/default/trego/template”。我不明白你的答案……你能解释一下吗?
    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 2010-10-04
    相关资源
    最近更新 更多