Templates 如何添加<;span>;Plone内部的标签<;h1>;要素
我想更改标准的页面顶部元素,以便我可以设置它的样式Templates 如何添加<;span>;Plone内部的标签<;h1>;要素,templates,customization,plone,Templates,Customization,Plone,我想更改标准的页面顶部元素,以便我可以设置它的样式 <h1 class="documentFirstHeading">My Heading</h1> 我的标题 是Plone在每个页面上放置此元素的方式。我想添加一个,以便该行显示: <h1 class="documentFirstHeading"><span>My Heading</span></h1> 我的标题 很明显,这段代码是由宏生成的,但我不知道如何生成 修改
<h1 class="documentFirstHeading">My Heading</h1>
我的标题
是Plone在每个页面上放置此元素的方式。我想添加一个,以便该行显示:
<h1 class="documentFirstHeading"><span>My Heading</span></h1>
我的标题
很明显,这段代码是由宏生成的,但我不知道如何生成
修改宏以添加我的跨距标记。有人能给我指一下房间吗
要修改的相应Plone文件?这将设置一个公共CSS图像
替换技术和其他Plone站点经常使用它,正如我看到的
在其他Plone站点上,span标记正好位于我需要它们的位置
感谢您的专业知识 在为您做了一些调查之后,我发现您要查找的宏位于“/portal\u skins/plone\u kss/kss\u generic\u macros/”,具体来说,您要查找的是“generic\u title\u view宏” 如果您想知道我是如何得到这个的,我首先查看了主_template.pt文件并看到:
<metal:title define-slot="content-title">
<metal:comment tal:content="nothing">
If you write a custom title always use
<h1 class="documentFirstHeading"></h1> for it
</metal:comment>
<h1 metal:use-macro="context/kss_generic_macros/macros/generic_title_view">
Generic KSS Title. Is rendered with class="documentFirstHeading".
</h1>
</metal:title>
如果您编写自定义标题,请始终使用
为了它
通用KSS标题。使用class=“documentFirstHeading”呈现。
从那以后,我就开始在皮肤中寻找kss,希望这就是你要找的。我不是100%确定(编辑欢迎:-D),我也不确定你想要用它做什么,但我认为你需要自定义页面视图模板
在Plone 3.x中,模板是/portal\u skins/Plone\u content/document\u view模板,您可能需要进行更改
<h1 class="documentFirstHeading">
<metal:field use-macro="python:here.widget('title', mode='view')">
Title
</metal:field>
</h1>
标题
到
标题
在Plone 4和4.1中,关键模板是portal_skins/Plone_kss/kss_generic_macros。寻找:
<span metal:define-slot="inside"
tal:replace="context/Title">title</span>
标题
并将“替换”更改为“内容”。这其实并不重要(操作基本相同),但我假设您正在创建主题包。我还假设您使用的是Plone 4.0或更新版本。行动包括:
- 将*Products.CMFPlone/Products/CMFPlone/skins/plone_kss*中的*kss_generic_macro.pt*文件复制到主题的*skins/your_templates_文件夹*。一般来说,这称为“根据主题自定义模板”
- 在第20行(不同Plone版本的行号可能不同),您将找到所需的块: 头衔
重要提示!上面的操作将为没有特定模板的每个泛型视图提供一个覆盖。对于这些情况,您需要自定义这些特定模板。多亏了spliter,我现在已经完成了部分页面的样式设置。正如他所提到的,这些更改还影响了所有没有特定模板覆盖的通用视图。我猜这些都是类似细节视图的东西,当你点击特定章节下的特定文章链接时,就会出现细节视图 因此,尽管我的分区页面按预期显示,但当我单击一篇文章时,会发生以下情况: 如果我将span标记之间的文本设置为display:none,则该行为根本不会反映在详细信息页面中,因为span不会应用于详细信息页面上的h1标记中 但是,由于我正在为部分页面上的h1元素设置特定的背景图像,因此该背景图像确实会出现在细节页面h1上 如何为我的详细信息页面覆盖该行为?-也就是说,我不希望在细节页面h1元素上显示背景图像。我需要能够解决h1的部分和细节页分别元素
很抱歉,我在这里缺乏经验,但至少对我来说,习惯Plone的工作方式似乎是在浪费时间。为什么您在h1中使用这种毫无意义的跨度?@pynator如果您想应用某些CSS技术,这并不是毫无意义的。@saskiano您使用什么版本的Plone?不幸的是,它并没有任何用处。用于窗口、角点和边缘效果的各种技术需要额外的非语义标记。我可以建议,没有亲自看到问题的要点并不是否决它的充分理由吗?如果你对CSS样式有任何了解,这也不是无用的。标准图像替换技术:将范围内的文本设置为显示:无,然后使用背景图像设置为h1元素。保持h1的语义意图,同时允许许多创造性的图形呈现选项。事实并非如此,它仅在通过KSS替换标题时使用。他没有说他想自定义标题的实际内容,只是添加span标记,我得到了他使用此方法所要的确切结果。我不想猜测你或其他什么,因为我知道你更博学,几天前还回答了我的一个问题,只是想学习(大学生)。谢谢你,回溯。我浏览了所有的Plone文件,确实找到了document\u view\u template.pt,但它不包含对h1.documentFirstHeading的任何引用。事实上,对文件树的搜索没有找到任何引用该元素的文件!pt文件包含以下内容:Oops-下面是标题stuiff下面的代码:干预点在版本之间移动。我编辑了答案以涵盖Plone 4和4.1。
<span metal:define-slot="inside"
tal:replace="context/Title">title</span>