我如何覆盖 Plone 3 中的主模板?

How do I override the main template in Plone 3?

我正在为 Plone 3.2.3 开发主题产品。我的主题产品在默认的 Plone 安装上完美运行。然而,当我将它应用到我们现有的网站时,除了对主模板的修改外,我的主题的所有功能都被应用。

产品文件结构是根据pasterplone3_theme模板修改的文件如下:

my.theme/
  my/
    theme/
      browser/
        configure.zcml
        templates/
          site_actions.pt
          ...
        viewlets.py
        viewletmanagers.py
      profiles/
        default/
          viewlets.xml
      skins/
        my_theme_custom_templates/
          main_template.pt

我在 browser/profiles/ 目录中所做的所有更改都已应用(包括自定义模板),但自定义主模板未应用。

您需要确保 my_theme_custom_templates 文件夹在 plone_templates 文件夹之前加载。

前往 http://localhost:8080/PLONE/portal_skins/manage_propertiesForm 并检查您的 my_theme_custom_templates 是否在您的活动皮肤 ("Skin selections") 中排名第二。通常 custom 位于第一位,因此您需要确保您的皮肤文件夹直接位于 custom 文件夹下方或至少在 plone_templates 之前。还要检查哪个皮肤在 Default skin 中处于活动状态。