[Checkins] SVN: zopeorg.theme/trunk/zopeorg/theme/ base Plone templates and CSS for tableless layout. Base has been copied from Plone 3.0.5

Denis Mishunov denis.mishunoff at gmail.com
Wed Feb 6 05:02:28 EST 2008


Log message for revision 83579:
  base Plone templates and CSS for tableless layout. Base has been copied from Plone 3.0.5

Changed:
  U   zopeorg.theme/trunk/zopeorg/theme/browser/configure.zcml
  U   zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props
  A   zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/
  A   zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/columns.css
  A   zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/main_template.pt
  A   zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/portlet_prefs.pt
  A   zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/prefs_main_template.pt
  U   zopeorg.theme/trunk/zopeorg/theme/skins.zcml

-=-
Modified: zopeorg.theme/trunk/zopeorg/theme/browser/configure.zcml
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/browser/configure.zcml	2008-02-06 09:48:17 UTC (rev 83578)
+++ zopeorg.theme/trunk/zopeorg/theme/browser/configure.zcml	2008-02-06 10:02:27 UTC (rev 83579)
@@ -4,6 +4,7 @@
     i18n_domain="zopeorg.theme">
     
     <include package="plone.app.contentmenu" />
+    <include package="plone.app.portlets" />    
 
     <!-- 'Zope.org Theme' Zope 3 skin layer -->
     <interface
@@ -159,5 +160,23 @@
         layer=".interfaces.IThemeSpecific"
         permission="zope2.View" 
         />
+        
+    <browser:page
+        for="Products.CMFCore.interfaces.ISiteRoot"
+        name="dashboard"
+        permission="plone.app.portlets.ManageOwnPortlets"
+        class="plone.app.layout.dashboard.dashboard.DashboardView"
+        template="templates/dashboard.pt"
+        layer=".interfaces.IThemeSpecific"
+        /> 
+        
+    <browser:page
+      for="Products.CMFCore.interfaces.ISiteRoot"
+      name="manage-dashboard"      
+      permission="plone.app.portlets.ManageOwnPortlets"      
+      class="plone.app.portlets.browser.manage.ManageDashboardPortlets"
+      template="templates/manage-dashboard.pt"
+      layer=".interfaces.IThemeSpecific"
+      />           
 
 </configure>

Modified: zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props	2008-02-06 09:48:17 UTC (rev 83578)
+++ zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_styles/base_properties.props	2008-02-06 10:02:27 UTC (rev 83579)
@@ -43,5 +43,6 @@
 helpBackgroundColor:string=#ffffe1
 
 portalMinWidth:string=70em
-columnOneWidth:string=16em
+columnContentWidth:string=467px
+columnOneWidth:string=190px
 columnTwoWidth:string=342px
\ No newline at end of file

Added: zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/columns.css
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/columns.css	                        (rev 0)
+++ zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/columns.css	2008-02-06 10:02:27 UTC (rev 83579)
@@ -0,0 +1,143 @@
+/*
+** Table-based column layout for all browsers.
+**
+** There's a table-less column layout alternative in the plone_tableless
+** skin layer, if you prefer layouts without tables.
+*/
+
+/* <dtml-with base_properties> */
+
+#portal-columns {
+    width: 999px;
+    padding: 0;
+    margin: 0;
+    display:block;
+}
+
+/* we need to make #portal-columns to be really wrap floated elements.
+   to know more about the technique used here read about 
+   EasyClearing at http://www.positioniseverything.net/easyclearing.html
+*/
+#portal-columns:after {
+    content: ".";
+    display:block;
+    height:0;
+    clear: both;
+    visibility: hidden;
+}
+#portal-column-one {
+    float: left;
+    width: 190px;
+    padding: 0;
+    margin: 0 0 0 -657px; 
+    overflow: hidden;
+}
+#portal-column-content {
+    float: left;    
+    width: 467px;
+    padding: 0;
+    margin: 0 0 0 190px;
+/*    overflow: hidden;    */
+}
+#portal-column-two {
+    float: left;    
+    width: 342px;
+    padding: 0;    
+    margin: 0;    
+    overflow: hidden;    
+}
+
+/* hide columns */
+
+.visualColumnHideOneTwo #portal-column-content {
+    margin-left: 0;
+    width: 999px;
+}
+
+.visualColumnHideOne #portal-column-content {
+    margin-left: 0;
+    width: 657px;
+}
+
+.visualColumnHideTwo #portal-column-content {
+    width: 657px;
+}
+.visualColumnHideTwo #portal-column-one {
+    margin-left: -847px;
+}
+
+
+/* fullscreen */
+body.fullscreen #portal-column-one,
+body.fullscreen #portal-column-two {
+    display: none;
+}
+body.fullscreen #portal-column-content { 
+    width: 100%; 
+    margin: 0; 
+    padding: 0; 
+}
+
+/*
+** EQUAL-HEIGHT STYLES 
+*/
+
+/*#visual-portal-wrapper {
+    position:relative;
+    overflow: hidden;
+}
+#portal-columns {
+    background:#F2F4F7;
+}
+.visualColumnHideOne,
+.visualColumnHideOneTwo {
+    background: transparent !important;
+}
+div#content-column-background {
+    position:relative;
+    width:100%;
+    left:<dtml-var columnOneWidth missing="16%">;
+    background:#fff;
+}
+.visualColumnHideOneTwo div#content-column-background {
+    left:0;
+    padding-left:<dtml-var columnOneWidth missing="16%">;
+}
+div#reset-column {
+    position:relative;
+    width:100%;
+    left:100%;
+    margin-left:-<dtml-var columnOneWidth missing="16%">;
+} 
+div#right-column-background {
+    position:relative;
+    width:100%;
+    margin-left:-<dtml-var columnTwoWidth missing="16%">;
+    background:#fff;
+}
+.visualColumnHideTwo div#right-column-background,
+.visualColumnHideOneTwo div#right-column-background {
+    background: transparent;
+}
+div.content-column {
+    position:relative;
+    width:100%;
+    margin-left:-100%;
+    left:<dtml-var columnTwoWidth missing="16%">;
+}
+.clearfix:after {
+    content: "."; 
+    display: block;
+    height: 0px;
+    clear: both; 
+    visibility: hidden;
+}
+#portal-column-content:before {
+    content:'.';
+    display:block;
+    visibility:hidden;
+    height:0;
+}*/
+
+
+/* </dtml-with> */

Added: zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/main_template.pt
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/main_template.pt	                        (rev 0)
+++ zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/main_template.pt	2008-02-06 10:02:27 UTC (rev 83579)
@@ -0,0 +1,206 @@
+<metal:page define-macro="master"><metal:doctype define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></metal:doctype>
+<metal:block define-slot="top_slot" />
+<metal:block use-macro="here/global_defines/macros/defines" />
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xml:lang="en"
+      lang="en"
+      tal:define="lang language"
+      tal:attributes="lang lang;
+                      xml:lang lang">
+
+  <tal:cache tal:define="charset site_properties/default_charset|string:utf-8">
+    <metal:cache use-macro="here/global_cache_settings/macros/cacheheaders">
+      Get the global cache headers located in global_cache_settings.
+    </metal:cache>
+  </tal:cache>
+
+  <head>
+
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
+          tal:define="charset site_properties/default_charset|string:utf-8"
+          tal:attributes="content string:text/html;;charset=${charset}" />
+
+    <metal:baseslot define-slot="base">
+      <base tal:attributes="href here/renderBase" /><!--[if lt IE 7]></base><![endif]-->
+    </metal:baseslot>
+
+    <meta name="generator" content="Plone - http://plone.org" />
+
+    <div tal:replace="structure provider:plone.htmlhead" />
+
+    <meta tal:define="metatags python:putils.listMetaTags(here).items()"
+          tal:condition="metatags"
+          tal:repeat="keyval metatags"
+          tal:attributes="name python:keyval[0];
+                          content python:keyval[1];" />
+
+    <!-- Internet Explorer CSS Fixes -->
+    <tal:iefixstart replace="structure string:&lt;!--[if IE]&gt;" />
+        <style type="text/css" media="all" tal:condition="exists: portal/IEFixes.css"
+               tal:content="string:@import url($portal_url/IEFixes.css);">
+        </style>
+    <tal:iefixend replace="structure string:&lt;![endif]--&gt;" />
+
+    <link tal:replace="structure provider:plone.htmlhead.links" />
+
+    <link rel="alternate" href="" title="RSS 1.0" type="application/rss+xml"
+          tal:condition="python: syntool.isSyndicationAllowed(here)"
+          tal:attributes="href string:$here_url/RSS" />
+
+    <!-- Disable IE6 image toolbar -->
+    <meta http-equiv="imagetoolbar" content="no" />
+    
+    <tal:comment replace="nothing"> A slot where you can insert elements in the header from a template </tal:comment>
+    <metal:headslot define-slot="head_slot" />
+
+    <tal:comment replace="nothing"> A slot where you can insert CSS in the header from a template </tal:comment>
+    <metal:styleslot define-slot="style_slot" />
+
+    <tal:comment replace="nothing"> This is deprecated, please use style_slot instead. </tal:comment>
+    <metal:cssslot define-slot="css_slot" />
+
+    <tal:comment replace="nothing"> A slot where you can insert javascript in the header from a template </tal:comment>
+    <metal:javascriptslot define-slot="javascript_head_slot" />
+
+  </head>
+
+  <body tal:attributes="class string:${here/getSectionFromURL} template-${template/id};
+                        dir python:test(isRTL, 'rtl', 'ltr')">
+    <div id="visual-portal-wrapper">
+
+      <div id="portal-top" i18n:domain="plone">
+        <div tal:replace="structure provider:plone.portaltop" />
+      </div>
+
+      <div class="visualClear" id="clear-space-before-wrapper-table"><!-- --></div>
+      
+      <metal:block define-slot="columns_wrapper">
+      <div id="portal-columns" 
+           tal:attributes="class string:${hidecolumns}">          
+      
+      <!-- <div id="content-column-background">     
+          <div id="reset-column">
+          <div id="right-column-background"> -->
+              
+              <div class="content-column clearfix">
+ 
+              <tal:comment replace="nothing"> Start of main content block </tal:comment>
+              <div id="portal-column-content"
+                  tal:define="tabindex python:Iterator(mainSlot=False)">
+
+                <metal:block define-slot="content">
+                  <div metal:define-macro="content"
+                       tal:define="show_border context/@@plone/showEditableBorder"
+                       tal:attributes="class python:test(show_border,'documentEditable','')">
+
+                    <div tal:replace="structure provider:plone.contentviews" />
+
+                    <div id="region-content"
+                         class="documentContent">
+
+                      <span id="contentTopLeft"></span>
+                      <span id="contentTopRight"></span>
+              
+                      <a name="documentContent"></a>
+
+                      <div metal:use-macro="here/global_statusmessage/macros/portal_message">
+                        Portal status message
+                      </div>
+              
+                      <div id="viewlet-above-content" tal:content="structure provider:plone.abovecontent" />
+
+                      <metal:slot metal:define-slot="body">
+                      <tal:comment replace="nothing">
+                          The div with ID #content will only show up if we're actually on a content
+                          view, never on edit forms, control panels etc. It's meant to only wrap the
+                          actual content that gets rendered on a page, not the other UI elements.
+                      </tal:comment>
+                      <div id="content"
+                           tal:omit-tag="not:context/@@plone_context_state/is_view_template">
+                        <metal:header metal:define-slot="header" tal:content="nothing">
+                          Visual Header
+                        </metal:header>
+                        <metal:bodytext metal:define-slot="main" tal:content="nothing">
+                          Page body text
+                        </metal:bodytext>
+                      </div>
+                      </metal:slot>
+
+                      <metal:sub metal:define-slot="sub">
+              
+                        <div tal:replace="structure provider:plone.belowcontent" />
+              
+                      </metal:sub>
+
+                      <span id="contentBottomLeft"></span>
+                      <span id="contentBottomRight"></span>
+
+                    </div>
+
+                  </div>
+
+                </metal:block>
+              </div>
+              <tal:comment replace="nothing"> End of main content block </tal:comment>
+      
+              <tal:comment replace="nothing"> Start of the left column </tal:comment>
+              <div id="portal-column-one"
+                  metal:define-slot="column_one_slot"
+                  tal:condition="sl">
+                <div class="visualPadding">
+                  <metal:portlets define-slot="portlets_one_slot">
+                    <tal:block replace="structure provider:plone.leftcolumn" />
+                  </metal:portlets>
+                  &nbsp;
+                </div>
+              </div>
+              <tal:comment replace="nothing"> End of the left column </tal:comment>
+      
+              <tal:comment replace="nothing"> Start of right column </tal:comment>
+              <div id="portal-column-two"
+                  metal:define-slot="column_two_slot"
+                  tal:condition="sr">
+                <div class="visualPadding">
+                  <metal:portlets define-slot="portlets_two_slot">
+                    <tal:block replace="structure provider:plone.rightcolumn" />
+                  </metal:portlets>
+                  &nbsp;
+                </div>
+              </div>
+              <tal:comment replace="nothing"> End of the right column </tal:comment>
+          
+              </div>
+          
+          <!-- </div>
+          </div>
+      </div> -->
+      
+      </div>
+      </metal:block>
+      <tal:comment replace="nothing"> end column wrapper </tal:comment>
+
+      <div class="visualClear" id="clear-space-before-footer"><!-- --></div>
+      
+      <div tal:define="context_state context/@@plone_context_state;
+                        portlet_assignable context_state/portlet_assignable"
+            tal:condition="python:not sl and not sr and portlet_assignable and checkPermission('Portlets: Manage portlets', context)">
+          <a class="managePortletsFallback"
+             tal:attributes="href string:${context_state/canonical_object_url}/@@manage-portlets"
+             i18n:translate="manage_portlets_fallback">
+             Manage portlets
+          </a>
+      </div>
+
+      <metal:block i18n:domain="plone">
+
+        <div tal:replace="structure provider:plone.portalfooter" />
+
+      </metal:block>
+
+      <div class="visualClear"><!-- --></div>
+    </div>
+<div id="kss-spinner"><img tal:attributes="src string:${portal_url}/spinner.gif" alt="" /></div>
+</body>
+</html>
+</metal:page>

Added: zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/portlet_prefs.pt
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/portlet_prefs.pt	                        (rev 0)
+++ zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/portlet_prefs.pt	2008-02-06 10:02:27 UTC (rev 83579)
@@ -0,0 +1,60 @@
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+      xmlns:tal="http://xml.zope.org/namespaces/tal"
+      xmlns:metal="http://xml.zope.org/namespaces/metal"
+      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
+      i18n:domain="plone">
+<body>
+<metal:portlet define-macro="portlet"
+   tal:define="controlPanel python:modules['Products.CMFCore.utils'].getToolByName(here, 'portal_controlpanel');
+               groups python:controlPanel.getGroups('site');
+               getIconFor nocall:putils/getIconFor">
+
+<div id="portal-column-one">
+    <div class="visualPadding">
+    
+    <dl class="portlet"
+        id="portlet-prefs">
+        <dt class="portletHeader">
+            <span class="portletTopLeft"></span>
+            <a href="" 
+               tal:attributes="href string:${portal_url}/plone_control_panel"
+               i18n:translate="heading_control_panel">Site Setup</a>
+            <span class="portletTopRight"></span>
+        </dt>
+
+        <dd class="portletItem"
+            tal:repeat="group groups">
+
+            <tal:block tal:define="configlets python:controlPanel.enumConfiglets(group=group['id'])"
+                       tal:condition="configlets">
+                <strong tal:content="group/title"
+                        i18n:translate="">Plone Configlet Group Title</strong>
+                <ul class="configlets">
+
+                    <li tal:repeat="configlet configlets">
+                        <a href=""
+                           tal:attributes="href configlet/url"
+                           tal:condition="configlet/visible">
+                            <img src="" alt="" tal:attributes="src python:'%s/%s' % (portal_url, getIconFor('controlpanel',configlet['id']));
+                                                 alt configlet/description"
+                                 i18n:attributes="alt"
+                                 tal:on-error="string:" />
+                        <tal:configletname tal:content="configlet/title"
+                                           i18n:translate=""></tal:configletname>
+                        </a>
+                    </li>
+                </ul>
+            </tal:block>
+            <span class="portletBottomLeft"></span>
+            <span class="portletBottomRight"></span>
+        </dd>
+
+    </dl>
+
+    </div>
+</div>
+
+
+</metal:portlet>
+</body>
+</html>

Added: zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/prefs_main_template.pt
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/prefs_main_template.pt	                        (rev 0)
+++ zopeorg.theme/trunk/zopeorg/theme/skins/zopeorg_theme_tableless/prefs_main_template.pt	2008-02-06 10:02:27 UTC (rev 83579)
@@ -0,0 +1,51 @@
+<metal:page define-macro="master">
+  <tal:block metal:use-macro="here/main_template/macros/master">
+
+    <metal:block fill-slot="top_slot"
+                 tal:define="dummy python:request.set('disable_border',1)" />
+
+    
+    <metal:override fill-slot="columns_wrapper">
+    <div id="portal-columns" class="visualColumnHideTwo">          
+      
+      <!-- <div id="content-column-background">     
+          <div id="reset-column">
+          <div id="right-column-background"> -->
+              
+              <div class="content-column clearfix" id="portal-prefs-wrapper">
+ 
+              <tal:comment replace="nothing"> Start of main content block </tal:comment>
+              <div id="portal-column-content"
+                  tal:define="tabindex python:Iterator(mainSlot=False)">
+
+                  <metal:slot define-slot="prefs_configlet_content">
+                    <metal:block metal:use-macro="here/main_template/macros/content">
+                      <metal:override metal:fill-slot="main">
+                        <metal:slot metal:define-slot="prefs_configlet_main" tal:content="nothing">
+                          Page body text
+                        </metal:slot>
+                      </metal:override>
+                    </metal:block>
+                  </metal:slot>
+                  
+              </div>
+              <tal:comment replace="nothing"> End of main content block </tal:comment>
+      
+              <tal:comment replace="nothing"> Start of the left column </tal:comment>
+              <metal:override define-slot="column_one_slot">
+                  <metal:prefs use-macro="here/portlet_prefs/macros/portlet" />
+              </metal:override>
+              <tal:comment replace="nothing"> End of the left column </tal:comment>
+          
+              </div>
+          
+          <!-- </div>
+          </div>
+      </div> -->
+      
+      </div>
+
+    </metal:override>
+
+  </tal:block>
+</metal:page>

Modified: zopeorg.theme/trunk/zopeorg/theme/skins.zcml
===================================================================
--- zopeorg.theme/trunk/zopeorg/theme/skins.zcml	2008-02-06 09:48:17 UTC (rev 83578)
+++ zopeorg.theme/trunk/zopeorg/theme/skins.zcml	2008-02-06 10:02:27 UTC (rev 83579)
@@ -6,5 +6,6 @@
    <cmf:registerDirectory name="zopeorg_theme_custom_images"/>
    <cmf:registerDirectory name="zopeorg_theme_custom_templates"/>
    <cmf:registerDirectory name="zopeorg_theme_styles"/>
+   <cmf:registerDirectory name="zopeorg_theme_tableless"/>
 
 </configure>
\ No newline at end of file



More information about the Checkins mailing list