Ajout dans l’historique des chargements de formulaires. TODO : tester la méthode...
[Plinn.git] / skins / photo_theme / main_template_standard.pt
1 <metal:block define-macro="master">
2 <tal:block define="global main_macros here/main_template_macros/macros"/>
3 <metal:block use-macro="main_macros/global_defines"/>
4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6 <html xmlns="http://www.w3.org/1999/xhtml">
7
8 <head>
9 <title tal:content="here/expanded_title">Title goes here</title>
10 <meta http-equiv="content-type" content="text/html;charset=utf-8" />
11 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
12 <meta name="description"
13 tal:attributes="content python:here.Description().strip() or portal_object.description" />
14 <meta name="keywords"
15 tal:define="keywords python:here.Subject() or portal_object.keywords or []"
16 tal:attributes="content python:', '.join(keywords)" />
17 <base tal:omit-tag="" metal:define-slot="base" />
18
19 <link rel="Shortcut Icon" type="image/x-icon" href="favicon.ico" tal:attributes="href string:$portal_url/favicon.ico" />
20 <link rel="alternate" type="application/rss+xml"
21 tal:define="stool nocall:here/portal_syndication"
22 tal:attributes="title here/title_or_id ; href string:${here/absolute_url}/RSS"
23 tal:condition="python:stool.isSyndicationAllowed(here)" />
24
25 <link rel="stylesheet" media="screen" tal:attributes="href here/global_plinn_style.css/absolute_url" />
26 <style type="text/css" media="all" tal:content="string:@import url(${here/calendar-system.css/absolute_url});"></style>
27
28 <link metal:define-slot="css_slot" tal:replace="nothing" />
29 <script type="text/javascript" tal:attributes="src here/epoz_script_detect.js/absolute_url"></script>
30 <script type="text/javascript" tal:attributes="src here/javascript_events_api.js/absolute_url"></script>
31 <script type="text/javascript" tal:attributes="src here/sarissa.js/absolute_url"></script>
32 <script type="text/javascript">
33 //<!--
34 function absolute_url() {
35 var e = document.getElementById("Object_URL");
36 if (e)
37 return e.innerHTML;
38 else {
39 e = document.getElementById("BC_Object_URL");
40 if (e)
41 return e.innerHTML;
42 else
43 return document.location.href;
44 }
45 }
46
47 function portal_url() {
48 var e = document.getElementById("Portal_URL");
49 return e.innerHTML;
50 }
51
52 var startupFunctions = new Array();
53
54 function registerStartupFunction(fct) {
55 startupFunctions.push(fct);
56 }
57
58 function runAjaxStartup() {
59 for (var i = 0 ; i < startupFunctions.length ; i++)
60 startupFunctions[i]();
61 }
62
63 addListener(window, 'load', runAjaxStartup);
64
65 var progressImage;
66 function _initLoadingStatus() {
67 progressImage = document.getElementById('loading_progress');
68 }
69 registerStartupFunction(_initLoadingStatus);
70
71 function showProgressImage() { progressImage.style.display = 'inline'; }
72 function hideProgressImage() { progressImage.style.display = 'none'; }
73
74
75 // -->
76 </script>
77 <script type="text/javascript" tal:attributes="src here/base_properties.js/absolute_url"></script>
78 <script type="text/javascript" tal:attributes="src here/fragment_importer.js/absolute_url"></script>
79 <script type="text/javascript" tal:attributes="src here/ajax_form_manager.js/absolute_url"></script>
80 <script type="text/javascript" tal:attributes="src here/root_handlers.js/absolute_url"></script>
81 <script type="text/javascript" tal:attributes="src here/plinn_script_loader.js/absolute_url"></script>
82
83 <script type="text/javascript" metal:define-slot="javascript_head_slot" tal:replace="nothing"></script>
84 </head>
85
86 <body>
87 <span style="display:none">
88 <span id="Portal_URL" tal:content="portal_url"></span>
89 <span id="ajax_config" tal:content="python:request.get('ajaxConfig', request.SESSION.get('ajaxConfig', portal_object.getProperty('ajax_config')))"></span>
90 <script type="text/javascript">
91 // <!--
92 AJAX_CONFIG = document.getElementById('ajax_config');
93 AJAX_CONFIG = parseInt(AJAX_CONFIG.innerHTML);
94 // -->
95 </script>
96 </span>
97 <a href="#documentContent" i18n:translate="" i18n:domain="plinn" class="hidden">Skip to content</a>
98 <div metal:use-macro="main_macros/top_bar">Top bar</div>
99 <div id="search_bar">
100 <div metal:use-macro="here/realis_main_macros/macros/search_bar">Barre de recherche réalis</div>
101 </div>
102 <div id="Breadcrumbs"><div metal:use-macro="main_macros/Breadcrumbs">Breadcrumbs</div></div>
103
104 <div id="main_body">
105 <table id="Forematter" width="100%" cellspacing="0">
106 <tr>
107 <td class="boxes_container" width="15%" tal:condition="python:member.has_role(['photographe', 'Manager'])">
108 <div id="leftCell">
109 <span metal:use-macro="main_macros/leftCell">Left cell</span>
110 </div>
111 <div id="rightCell">
112 <span metal:use-macro="main_macros/rightCell">Right cell</span>
113 </div>
114 </td>
115
116 <td id="mainCell" width="85%">
117
118 <div id="DesktopStatusBar" tal:condition="request/portal_status_message|nothing">
119 <img src="info.gif" alt="Information" tal:attributes="src here/info.gif/absolute_url" i18n:attributes="alt" />
120 <span tal:content="request/portal_status_message" i18n:translate="">Status message.</span>
121 </div>
122
123 <a name="documentContent"></a>
124 <div metal:define-slot="main_no_tabs" tal:omit-tag="">
125 <div tal:condition="specialCtxHeader" tal:content="structure specialCtxHeader">special context header</div>
126 <div id="ContentTabs" tal:condition="not:specialCtxHeader">
127 <div class="tabs" metal:use-macro="here/tabs/macros/tabs">Content tabs</div>
128 <div metal:use-macro="here/tabs/macros/additional_tabs">Additional tabs</div>
129 </div>
130 <div id="ForematterCell">
131 <div class="header">
132 <div tal:omit-tag="" metal:define-slot="header">
133 <h1 id="DesktopTitle">
134 <span tal:replace="here/title_or_id">Page Title</span>
135 </h1>
136 <div id="DesktopDescription" tal:content="structure here/Description">
137 Description of the resource goes here, perhaps even wrapping lines; this is to make it long enough to test.
138 </div>
139 </div>
140 </div>
141
142 <div id="Desktop">
143 <div metal:define-slot="main">
144 <h2>Section Header</h2>
145 <p>The content of the object is <a href=".">rendered</a>
146 hre. Lorem ipsum dolorem. Nihil obstat imprimatur. Semper ubi sub ubi.
147 Non illegitimi carborundum. In vino veritas. E pluribus unam.
148 </p>
149 </div>
150 </div>
151 <div tal:condition="not:isAnon" tal:omit-tag="">
152 <div id="ContentByLine" metal:use-macro="here/content_byline/macros/byline">
153 Content by me
154 </div>
155 </div>
156 <div metal:define-slot="footer" tal:replace="nothing">footer slot</div>
157 </div>
158 </div>
159
160 </td>
161 <!-- end_main_column -->
162 </tr>
163 </table>
164 </div>
165 </body>
166
167 </html>
168
169 </metal:block>