Plone学习9——基于Barceloneta创建一个自定义主题

Plone学习9——基于Barceloneta创建一个自定义主题

参考链接

基于Barceloneta创建一个自定义主题

  • 在管理界面点击“Theming”
  • 点击“New theme”
  • 输入主题名字并勾选应用于该主题
  • 点击“Create”
  • 在主题化编辑器,确保新的主题包含的文件manifest.cfg,rules.xml,index.html和styles.less。
  • 编辑manifest.cfg
[theme]
title = Custom
description = A custom theme
doctype = <!DOCTYPE html>
development-css = ++theme++custom/styles.less
production-css = ++theme++custom/styles.css
  • 编辑rules.xml
<?xml version="1.0" encoding="UTF-8"?>
<rules
    xmlns="http://namespaces.plone.org/diazo"
    xmlns:css="http://namespaces.plone.org/diazo/css"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xi="http://www.w3.org/2001/XInclude">

  <!-- Import Barceloneta rules -->
  <xi:include href="++theme++barceloneta/rules.xml"><xi:fallback /></xi:include>

  <rules css:if-content="#visual-portal-wrapper">
    <!-- Placeholder for your own additional rules -->
  </rules>

  <!-- Footer -->
  <xsl:variable name="footer_portlets" select="//footer[@id='portal-footer-wrapper']//div[@class='portletWrapper']/*[not(contains(@id,'portal-colophon')) and not(contains(@id,'portal-footer-signature')) and not(contains(@class,'portletActions'))]"></xsl:variable>
  <xsl:variable name="footer_portlets_count" select="count($footer_portlets)"></xsl:variable>
</rules>

需要注意的是: <!-- Footer -->下面的内容不是官方文档推荐的,但是由于barceloneta的rules.xml文件删除了一部分代码,并且官方文档没有来得及更新,所以出现了bug——“Variable ‘footer_portlets_count’ has not been declared.”。详情可见链接

  • 从Barceloneta复制一份index.html文件到这里
  • 新建一个styles.less,并输入:
/* Import Barceloneta styles */
@import "++theme++barceloneta/less/barceloneta.plone.less";

/* Customize whatever you want */
@plone-sitenav-bg: pink;
@plone-sitenav-link-hover-bg: darken(pink, 20%);
.plone-nav > li > a {
  color: @plone-text-color;
}
  • 然后点击“Save”和“Build CSS”,通过编译styles.less文件生成less.css文件

以下是效果图:
在这里插入图片描述
可见,导航栏区域变成了粉红色

温馨提示

用?diazo.off=1可以看到该页面无theme的情况下的布局

练习<drop>指令

目的

删除“仅在本栏目”的复选框
在这里插入图片描述
我们通过F12检查发现,该标签的class=“searchSection”
在这里插入图片描述
于是,我们可以在rules.xml的id="visual-portal-wrapper"的下面加入一行代码,如下图所示

<rules css:if-content="#visual-portal-wrapper">
  <!-- Placeholder for your own additional rules -->

  <!-- Remove the "only in current section" checkbox. -->
  <drop css:content="div.searchSection" />
</rules>

然后,保存刷新

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值