我想按照Martin Aspeli的书“Professional Plone 4 Developement”中的说明,使用Diazo / plone.app.theming构建自定义Plone主题。 就像在书中我选择了拉入所有Plone css(默认的Sunburst主题)的方式。我的问题:所有这些css都包括在内 - 除了public.css。这意味着破坏的编辑栏和一些其他视觉问题。 黑客就是将public.css复制到我的资源目录中,并将其包含在我自己的cssregistry.xml中。但我想干净利落。 为什么不包含这个单个文件(但其他文件)?我多次重新安装我的主题,以确保我的所有更改都适用。
这是我的cssregistry.xml:
<?xml version="1.0"?>
<object name="portal_css">
<stylesheet id="++theme++myproject.theme/css/main.css"
expression="request/HTTP_X_THEME_ENABLED | nothing"
applyPrefix="True" />
</object>
这里是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">
<!-- Rules applying to standard Plone pages -->
<rules css:if-content="#visual-portal-wrapper">
<theme href="index.html" />
<drop theme="/html/head/meta" />
<drop theme="/html/head/title" />
<drop theme="/html/head/base" />
<drop theme="/html/head/style" />
<drop theme="/html/head/script" />
<drop theme="/html/head/link" />
<drop theme="/html/head/comment()" />
<after content="/html/head/meta"
theme-children="/html/head" />
<after content="/html/head/title"
theme-children="/html/head" />
<after content="/html/head/base | /html/head/style | /html/head/script | /html/head/link | /html/head/comment()"
theme-children="/html/head" />
...
这就是生成的head标签生成的HTML标记如何启用我的主题:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="Herzlichen Glückwunsch! Sie haben das professionelle Open-Source Content-Management-System Plone erfolgreich installiert." name="description" />
<meta name="viewport" content="width=device-width, initial-scale=0.6666, maximum-scale=1.0, minimum-scale=0.6666" />
<meta name="generator" content="Plone - http://plone.org" />
<title>
Willkommen bei Plone — My-Project</title>
<base href="http://localhost:8080/my-project/front-page" />
<!--[if lt IE 7]> </base> <![endif]-->
<link rel="alternate" data-kss-base-url="kss-base-url" href="http://localhost:8080/my-project/front-page/" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/member.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/base.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/collective.js.jqueryui.custom.min.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/columns.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/authoring.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/portlets.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/controlpanel.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/deprecated.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/navtree.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/invisibles.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/forms.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/++resource++plone.app.discussion.stylesheets/discussion.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/ploneKss.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/++resource++tinymce.stylesheets/tinymce.css" />
<link rel="stylesheet" type="text/css" media="print" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/print.css" />
<link rel="stylesheet" type="text/css" media="handheld, screen and (max-device-width: 480px)" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/mobile.css" />
<!--[if lt IE 8]> <link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/IEFixes.css" /> <![endif]-->
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/++theme++myproject.theme/css/sunburst.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/++theme++myproject.theme/css/main.css" />
<link rel="stylesheet" type="text/css" media="all" href="http://localhost:8080/my-project/portal_css/Sunburst%20Theme/ploneCustom.css" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://localhost:8080/my-project/portal_kss/Sunburst%20Theme/++resource++tinymce.kss/tinymce.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://localhost:8080/my-project/portal_kss/Sunburst%20Theme/at.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://localhost:8080/my-project/portal_kss/Sunburst%20Theme/plone.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://localhost:8080/my-project/portal_kss/Sunburst%20Theme/++resource++plone.app.form.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://localhost:8080/my-project/portal_kss/Sunburst%20Theme/++resource++plone.app.z3cform" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://localhost:8080/my-project/portal_kss/Sunburst%20Theme/ploneformgen.kss" />
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquery.js"></script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/jquery-integration.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquerytools.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquerytools.overlayhelpers.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquerytools.form.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/register_function.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/plone_javascript_variables.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/nodeutilities.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/cookie_functions.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/modernizr.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/livesearch.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++search.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/select_all.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/dragdropreorder.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/collapsiblesections.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/form_tabbing.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/popupforms.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/jquery.highlightsearchterms.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/first_input_focus.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/accessibility.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/styleswitcher.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/toc.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/collapsibleformfields.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.discussion.javascripts/comments.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/dropdown.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/sarissa.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/table_sorter.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/calendar_formfield.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/formUnload.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/formsubmithelpers.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/unlockOnFormUnload.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/tiny_mce.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++kukit.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/tiny_mce_init.js"> </script>
<script type="text/javascript" src="http://localhost:8080/my-project/portal_javascripts/Sunburst%20Theme/collective.js.jqueryui.custom.min.js"> </script>
<link rel="author" href="http://localhost:8080/my-project/author/admin" title="Autoreninformation" />
<link rel="shortcut icon" type="image/x-icon" href="http://localhost:8080/my-project/favicon.ico" />
<link rel="apple-touch-icon" href="http://localhost:8080/my-project/touch_icon.png" />
<script type="text/javascript">
jQuery(function($){
$.datepicker.setDefaults(
jQuery.extend($.datepicker.regional['de'],
{dateFormat: 'dd.mm.yy'}));
});
</script>
<link rel="search" href="http://localhost:8080/my-project/@@search" title="Website durchsuchen" />
</head>
这里禁用我的主题:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<base href="http://127.0.0.1:8080/my-project/front-page" /><!--[if lt IE 7]></base><![endif]-->
<meta content="Herzlichen Glückwunsch! Sie haben das professionelle Open-Source Content-Management-System Plone erfolgreich installiert." name="description" />
<link rel="alternate" data-kss-base-url="kss-base-url" href="http://127.0.0.1:8080/my-project/front-page/" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/member.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/base.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/public.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/collective.js.jqueryui.custom.min.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/columns.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/authoring.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/portlets.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/controlpanel.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/deprecated.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/navtree.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/invisibles.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/forms.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/++resource++plone.app.discussion.stylesheets/discussion.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/ploneKss.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/++resource++tinymce.stylesheets/tinymce.css" />
<link rel="stylesheet" type="text/css" media="print" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/print.css" />
<link rel="stylesheet" type="text/css" media="handheld, screen and (max-device-width: 480px)" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/mobile.css" />
<!--[if lt IE 8]> <link rel="stylesheet" type="text/css" media="screen" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/IEFixes.css" /> <![endif]-->
<link rel="stylesheet" type="text/css" media="all" href="http://127.0.0.1:8080/my-project/portal_css/Sunburst%20Theme/ploneCustom.css" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://127.0.0.1:8080/my-project/portal_kss/Sunburst%20Theme/++resource++tinymce.kss/tinymce.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://127.0.0.1:8080/my-project/portal_kss/Sunburst%20Theme/at.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://127.0.0.1:8080/my-project/portal_kss/Sunburst%20Theme/plone.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://127.0.0.1:8080/my-project/portal_kss/Sunburst%20Theme/++resource++plone.app.form.kss" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://127.0.0.1:8080/my-project/portal_kss/Sunburst%20Theme/++resource++plone.app.z3cform" />
<link rel="stylesheet" data-rel="kinetic-stylesheet" type="text/kss" href="http://127.0.0.1:8080/my-project/portal_kss/Sunburst%20Theme/ploneformgen.kss" />
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquery.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/jquery-integration.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquerytools.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquerytools.overlayhelpers.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.jquerytools.form.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/register_function.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/plone_javascript_variables.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/nodeutilities.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/cookie_functions.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/modernizr.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/livesearch.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++search.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/select_all.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/dragdropreorder.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/collapsiblesections.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/form_tabbing.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/popupforms.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/jquery.highlightsearchterms.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/first_input_focus.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/accessibility.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/styleswitcher.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/toc.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/collapsibleformfields.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++plone.app.discussion.javascripts/comments.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/dropdown.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/sarissa.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/table_sorter.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/calendar_formfield.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/formUnload.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/formsubmithelpers.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/unlockOnFormUnload.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/tiny_mce.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/++resource++kukit.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/tiny_mce_init.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/my-project/portal_javascripts/Sunburst%20Theme/collective.js.jqueryui.custom.min.js"></script>
<title>Willkommen bei Plone — My-Project</title>
<link rel="author" href="http://127.0.0.1:8080/my-project/author/admin" title="Autoreninformation" />
<link rel="shortcut icon" type="image/x-icon" href="http://127.0.0.1:8080/my-project/favicon.ico" />
<link rel="apple-touch-icon" href="http://127.0.0.1:8080/my-project/touch_icon.png" />
<script type="text/javascript">
jQuery(function($){
$.datepicker.setDefaults(
jQuery.extend($.datepicker.regional['de'],
{dateFormat: 'dd.mm.yy'}));
});
</script>
<link rel="search" href="http://127.0.0.1:8080/my-project/@@search" title="Website durchsuchen" />
<meta name="viewport" content="width=device-width, initial-scale=0.6666, maximum-scale=1.0, minimum-scale=0.6666" />
<meta name="generator" content="Plone - http://plone.org" />
</head>
明显的区别是第一个块中缺少对public.css的链接标记。为什么?任何建议,我必须在哪里找到这个错误的来源?
答案 0 :(得分:3)
Martin的书中包括:
如果我们想要选择性地关闭一些Plone样式表的话 主题生效,我们可以添加一个标签,如:
<stylesheet id="public.css"
expression="not:request/HTTP_X_THEME_ENABLED | nothing"
/>
也许您在实验中使用了该代码,设置仍保留在您的数据库中?在ZMI中,转到portal_css
工具,确保public.css
的条件字段为空。