source: main/waeup.kofa/branches/uli-diazo-themed/layout/rules.xml @ 11072

Last change on this file since 11072 was 11064, checked in by uli, 11 years ago

Move lang selector to left.

File size: 5.2 KB
RevLine 
[10917]1<?xml version="1.0" encoding="UTF-8"?>
2<rules
3    xmlns="http://namespaces.plone.org/diazo"
4    xmlns:css="http://namespaces.plone.org/diazo/css"
5    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
6    xmlns:xi="http://www.w3.org/2001/XInclude">
7
[10936]8  <!-- Cases where we do not want themes... -->
9  <notheme if-path="/++grokui++" />  <!-- do not theme GrokUI -->
10  <notheme if-path="/_debug" /><!-- output by debugger -->
11  <notheme css:if-content="div#error-area" />
[10917]12
[11060]13  <!-- use error page if there is a <table class="layout">
[10917]14       tag in content. This tag is rendered in Zope 3 errors. -->
15  <rules css:if-content="table#layout">
16    <theme href="error-zope.html" />
17    <replace css:theme-children="#kofa-error-message"
18             css:content-children="h3" />
19  </rules>
20  <!-- use error page if there is no <div> tag in content.
21       This happens if something in the application went wrong. -->
22  <rules css:if-not-content="div">
23    <theme href="error-zope.html" />
24    <replace css:theme-children="#kofa-error-message"
25             css:content-children="body" />
26  </rules>
27
28  <!-- regular rules -->
[10925]29  <rules css:if-content="body.kofa-body">
[10917]30
31    <theme href="theme.html" />
32
33    <!-- head elements -->
34    <replace css:theme="html head title"
35             css:content="html head title" />
36
37    <!-- brand (upper left) -->
38    <copy attributes="href" css:theme="a.kofa-brand-link"
39          css:content="a.kofa-brand-link" />
40    <replace css:theme-children="a.kofa-brand-link"
41             css:content-children="a.kofa-brand-link" />
42
43    <!-- left top navigation -->
44    <replace css:theme-children="ul.kofa-navbar-left"
45             css:content-children="ul.kofa-navbar-left" />
46
47    <!-- right side top navigation -->
48    <replace css:theme-children="ul.kofa-navbar-right"
49             css:content-children="ul.kofa-navbar-right" />
50
51    <!-- breadcrumbs -->
[11030]52    <drop css:theme="div.kofa-breadcrumbs-box-long"
[10917]53          css:if-not-content="ul.breadcrumb" />
[11030]54    <drop css:theme="div.kofa-breadcrumbs-box-long"
55          css:if-content="div.wfstatus" />
56    <drop css:theme="div.kofa-breadcrumbs-box-short"
57          css:if-not-content="ul.breadcrumb" />
58    <drop css:theme="div.kofa-breadcrumbs-box-short"
59          css:if-not-content="div.wfstatus" />
[10977]60    <replace css:theme-children="ol.kofa-breadcrumbs"
61             css:content-children="ul.breadcrumb" />
[10917]62
[11030]63    <!-- student status -->
64    <drop css:theme="div.kofa-student-status-box"
65          css:if-not-content="div.wfstatus" />
66    <replace css:theme-children="div.wfstatus"
67             css:content-children="div.wfstatus" />
[11029]68
[10917]69    <!-- sidebar -->
70
71    <drop css:theme="div.kofa-sidebar"
72          css:if-not-content="div.sidebar" />
[10969]73    <replace css:theme-children="div.sidebar-nav"
[10977]74             css:content-children="div.sidebar" />
[10917]75
76    <!-- content -->
77
78    <!-- drop one of the both content areas, depending on sidebar -->
79
80    <drop css:theme="div.kofa-content-narrow"
81          css:if-not-content="div.sidebar" />
82    <drop css:theme="div.kofa-content-wide"
83          css:if-content="div.sidebar" />
84    <replace css:theme-children="div.kofa-content"
85             css:content-children="div.kofa-content" />
86
87
88    <!-- scripts -->
89    <drop css:theme="script.kofa-script-tooltip"
90          css:if-not-content="[data-toggle=tooltip]" />
91
[11041]92    <drop css:theme="script.kofa-script-datepicker"
93          css:if-not-content="input.datepicker-le-year" />
94
95    <drop css:theme="script.kofa-script-datatable"
[11051]96          css:if-not-content="table.kofa-data-table" />
[11041]97
[10917]98<!--
99    <after css:theme-children="html head"
100           css:content="html head meta" />
101-->
102<!--
103    <after css:theme-children="html head"
104           css:content="html head base" />
105-->
106
107    <!-- top navigation -->
108    <!-- left top navigation -->
109<!--
110    <replace css:theme-children="ul.kofa-navbar-left"
111             css:content-children="ul.kofa-navbar-left" />
112-->
113
114    <!-- the language selector
115
[11021]116      quite tricky. We insert a <li> element at beginning of
117      ul.kofa-navbar-right. This <li> has a header element
[10917]118      (the 'Language' button) and the a number of <li> elements
119      representing the supported languages.
120      We change the input content of format
121
122         <a href="foo" title="Lang">Abbrev</a>
123
124      to
125
126         <a href="foo">Lang</a>
127
128      creating new nodes (<xsl:element>) with attributes copied over.
129    -->
[11064]130    <before css:theme-children="ul.kofa-navbar-right">
[10917]131      <li class="dropdown kofa-langselect">
132        <a href="#" class="dropdown-toggle"
[11021]133           data-toggle="dropdown">
[11040]134           <img src="/static/img/earth.png" />
[11022]135        </a>
[10917]136        <ul class="dropdown-menu">
137          <xsl:for-each css:select=" .language a">
138            <li class="kofa-language">
139              <xsl:element name="a">
140                <xsl:attribute name="href">
141                  <xsl:value-of select="@href" />
142                </xsl:attribute>
143                <xsl:value-of select="@title" />
144              </xsl:element>
145            </li>
146          </xsl:for-each>
147        </ul>
148      </li>
[11064]149    </before>
[10917]150
[11040]151    <!-- Make all data tables responsive -->
[10917]152
[11051]153    <replace css:content="table.kofa-data-table">
[11040]154      <div class="table-responsive">
[11051]155        <xsl:apply-templates css:select="table.kofa-data-table" mode="raw"/>
[11040]156      </div>
157    </replace>
[10917]158
[11041]159   </rules>
[10917]160
161</rules>
Note: See TracBrowser for help on using the repository browser.