source: products/quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/skins/quintagroup.seoptimizer/qseo_properties_edit_form.cpt @ 1276

Last change on this file since 1276 was 1276, checked in by olha, 15 years ago

Text on SEO properties tab, HISTORY.txt updated

  • Property svn:eol-style set to native
File size: 19.2 KB
Line 
1<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
2      lang="en"
3      metal:use-macro="here/main_template/macros/master"
4      i18n:domain="qseoptimizer">
5  <metal:border fill-slot="top_slot">
6    <tal:border define="dummy python:request.set('enable_border',1)" />
7  </metal:border>
8  <metal:style_head fill-slot="style_slot">
9      <style type="text/css">
10          tr.datagridwidget-empty-row {
11              display:none;
12          }
13      </style>
14  </metal:style_head>
15  <metal:javascript_head fill-slot="javascript_head_slot">
16      <script type="text/javascript"
17              tal:condition="python:exists('portal/statistics.js')"
18              tal:attributes="src string:${here/absolute_url}/statistics.js">
19      </script>
20      <script type="text/javascript"
21              tal:condition="python:exists('portal/checkkeywords.js')"
22              tal:attributes="src string:${here/absolute_url}/checkkeywords.js">
23      </script>
24      <script type="text/javascript"
25              tal:condition="python:exists('portal/custommetatags.js')"
26              tal:attributes="src string:${here/absolute_url}/custommetatags.js">
27      </script>
28  </metal:javascript_head>
29  <body>
30    <div metal:fill-slot="main"
31         tal:define="errors options/state/getErrors;">
32      <h1 i18n:translate="heading_edit_seo_properties">Edit SEO Properties</h1>
33      <p i18n:translate="description_edit_seo_properties">
34        This form allows you to edit html header meta tags that are produced by
35        Plone CMS to incrase Search Engine visibility. The values generated by
36        Plone are present as default values in input fields. To override default
37        value, check corresponding checkbox and input value itself in the
38        corresponding field.
39      </p>
40      <form name="edit_form"
41            action=""
42            method="post"
43            tal:attributes="action string:${here/absolute_url}/${template/getId}">
44        <fieldset>
45          <legend i18n:domain="plone" i18n:translate="legend_item_properties">
46            Item Properties
47          </legend>
48          <div class="field">
49            <label i18n:translate="label_page_title_tag" for="title">
50              Page Title Tag
51            </label>
52            <div class="formHelp" i18n:translate="help_seo_title">
53              Text to be present in &lt;TITLE&gt; tag. It is displayed in
54              browser title bar. Search engines display it as a title of the
55              document.
56            </div>
57            <input type="checkbox"
58                   id="title_override"
59                   name="title_override"
60                   tabindex=""
61                   tal:attributes="checked python:test(here.hasProperty('qSEO_title'), 'on', None);
62                                   tabindex tabindex/next;"
63                   />
64            <label i18n:translate="label_override" for="title_override">
65              Override
66            </label>
67            <input type="text"
68                   id="seo_title"
69                   name="title"
70                   size="40"
71                   value=""
72                   tabindex=""
73                   tal:attributes="value request/title | here/@@seo_context/seo_title;
74                                   tabindex tabindex/next;"
75                   />
76          </div>
77          <div class="field">
78            <label i18n:translate="label_meta_description_tag" for="description">
79              Meta Description Tag
80            </label>
81            <div class="formHelp" i18n:translate="help_seo_description">
82              Description of the document to be indexed by Search Engines. This text will be present in meta description tag in page HTML source.
83            </div>
84            <input type="checkbox"
85                   id="description_override"
86                   name="description_override"
87                   tabindex=""
88                   tal:attributes="checked python:test(here.hasProperty('qSEO_description'), 'on', None);
89                                   tabindex tabindex/next;"
90                   />
91            <label i18n:translate="label_override" for="description_override">
92              Override
93            </label>
94            <textarea
95                      type="text"
96                      id="seo_description"
97                      name="description"
98                      rows="5"
99                      cols="15"
100                      tabindex=""
101                      tal:attributes="tabindex tabindex/next;"
102                      tal:content="request/description | here/@@seo_context/seo_description"
103                      ></textarea>
104
105          </div>
106           
107          <div class="field">
108            <label i18n:translate="label_meta_keywords_tag" for="keywords">
109              Meta Keywords Tag
110            </label>
111            <div class="formHelp" i18n:translate="help_seo_keywords">
112              Keywords, the page will be indexed with.
113              <strong>Enter each keyword in separate line, please.</strong>
114              Though the relevance of listing meta keywords is of
115              questionable value now, it is useful to set meta keywords for
116              pages - for furture reference.
117            </div>
118            <input type="checkbox"
119                   id="keywords_override"
120                   name="keywords_override"
121                   tabindex=""
122                   tal:attributes="checked python:test(here.hasProperty('qSEO_keywords'), 'on', None);
123                                   tabindex tabindex/next;"
124                   />
125            <label i18n:translate="label_override" for="keywords_override">
126              Override
127            </label>
128            <textarea
129                      id="seo_keywords"
130                      name="keywords:lines"
131                      rows="11"
132                      cols="15"
133                      wrap="off"
134                      tabindex=""
135                      tal:attributes="tabindex tabindex/next;"
136                      tal:define="keywords request/keywords | here/@@seo_context/seo_keywords"
137                      tal:content="python:'\n'.join(keywords)"
138                      ></textarea>
139          </div>
140          <div class="field">
141            <label i18n:translate="label_html_comment" for="html_commment">
142              HTML Comment
143            </label>
144            <div class="formHelp" i18n:translate="help_seo_html_comment">
145              Comments embedded into HTML header.
146            </div>
147            <input type="checkbox"
148                   id="html_comment_override"
149                   name="html_comment_override"
150                   tabindex=""
151                   tal:attributes="checked python:test(here.hasProperty('qSEO_html_comment'), 'on', None);
152                                   tabindex tabindex/next;"
153                   />
154            <label i18n:translate="label_override" for="html_comment_override">
155              Override
156            </label>
157            <br />
158            <textarea
159                      id="seo_html_comment"
160                      name="html_comment"
161                      rows="5"
162                      cols="15"
163                      tabindex=""
164                      tal:attributes="tabindex tabindex/next;"
165                      tal:content="request/html_comment | here/@@seo_context/seo_html_comment"
166                      ></textarea>
167          </div>
168          <div class="field">
169            <label i18n:translate="label_robot_tag" for="robots">
170              Robot Tag
171            </label>
172            <div class="formHelp" i18n:translate="help_seo_robots">
173              Robots meta tag value. Allows or denies indexing, following
174              links, etc. for spiders indexing your content.
175            </div>
176            <input type="checkbox"
177                   id="robots_override"
178                   name="robots_override"
179                   tabindex=""
180                   tal:attributes="checked python:test(here.hasProperty('qSEO_robots'), 'on', None);
181                                   tabindex tabindex/next;"
182                   />
183            <label i18n:translate="label_override" for="robots_override">
184              Override
185            </label><br />
186            <input type="text"
187                   id="seo_robots"
188                   name="robots"
189                   size="25"
190                   value=""
191                   tabindex=""
192                   tal:attributes="value request/robots | here/@@seo_context/seo_robots;
193                                   tabindex tabindex/next;"
194                   />
195          </div>
196          <div class="field">
197            <label i18n:translate="label_distribution_tag" for="distribution">
198              Distribution Tag
199            </label>
200            <div class="formHelp" i18n:translate="help_seo_distribution">
201              Distribution meta tag to designate time and area disribution
202              of the document.
203            </div>
204            <input type="checkbox"
205                   id="distribution_override"
206                   name="distribution_override"
207                   tabindex=""
208                   tal:attributes="checked python:test(here.hasProperty('qSEO_distribution'), 'on', None);
209                                   tabindex tabindex/next;"
210                   />
211            <label i18n:translate="label_override" for="distribution_override">
212              Override
213            </label><br />
214            <input type="text"
215                   id="seo_distribution"
216                   name="distribution"
217                   size="25"
218                   value=""
219                   tabindex=""
220                   tal:attributes="value request/distribution | here/@@seo_context/seo_distribution;
221                                   tabindex tabindex/next;"
222                   />
223          </div>
224          <div class="field"
225               tal:define="error errors/canonical|nothing;"
226               tal:attributes="class python:test(error, 'field error', 'field')">
227            <label i18n:translate="label_canonical_tag" for="canonical">
228              Canonical URL
229            </label>
230            <div class="formHelp" i18n:translate="help_seo_canonical">
231              Specify your canonical URL.
232              If your site has identical or vastly similar content that's accessible through multiple URLs,
233              this format provides you with more control over the URL returned in search results.
234            </div>
235            <input type="checkbox"
236                   id="canonical_override"
237                   name="canonical_override"
238                   tabindex=""
239                   tal:attributes="checked python:test(here.hasProperty('qSEO_canonical'), 'on', None);
240                                   tabindex tabindex/next;"
241                   />
242            <label i18n:translate="label_override" for="canonical_override">
243              Override
244            </label><br />
245            <div tal:content="error">Validation error output</div>
246            <input type="text"
247                   id="seo_canonical"
248                   name="canonical"
249                   size="55"
250                   value=""
251                   tabindex=""
252                   tal:attributes="value request/canonical | here/@@seo_context/seo_canonical;
253                                   tabindex tabindex/next;"
254                   />
255          </div>
256          <div class="field"
257               tal:define="fieldName string:custommetatags;
258                           nonEmptylocalMetaTags here/@@seo_context/seo_nonEmptylocalMetaTags;">
259            <label i18n:translate="label_custom_metatags" for="custom_metatags">
260              Custom Meta Tags
261            </label>
262            <div class="formHelp" i18n:translate="help_seo_custommetatags">
263              Here you can manage your custom meta tags. Specify local Meta Tags parameters to be added to the global Meta Tags. 
264              If metacontent field is empty, then a meta tag will not be present on this page.
265
266            </div>
267            <input type="checkbox"
268                   id="custommetatags_override"
269                   name="custommetatags_override"
270                   tabindex=""
271                   tal:attributes="checked python:test(nonEmptylocalMetaTags, 'on', None);
272                                   tabindex tabindex/next;"
273                   />
274            <label i18n:translate="label_override" for="custommetatags_override">
275              Override
276            </label><br />
277            <table class="custom-metatags-table"
278                   id="datagridwidget-table-custommetatags"
279                   style="width: 100%"
280                   tal:define="columnNames python:['meta name', 'meta content'];
281                               columnIds   python:['meta_name', 'meta_content'];
282                               globalMT    here/@@seo_context/seo_globalWithoutLocalCustomMetaTags;
283                               localMT    here/@@seo_context/seo_localCustomMetaTags;">
284                <thead>
285                    <tr>
286                        <th class="discreet" style="text-align: left"
287                            tal:repeat="columnName columnNames"
288                            tal:content="columnName"
289                            i18n:translate="">Column name</th>
290                        <th />
291                        <th />
292                    </tr>
293                </thead>
294                <tbody id="datagridwidget-tbody-custommetatags">
295                    <tal:row-loop tal:repeat="row globalMT">
296                        <tr id="datagridwidget-row">
297                            <tal:vars define="fieldId string:${fieldName}_${repeat/row/number}">
298                                <td class="datagridwidget-cell"
299                                    tal:repeat="column columnIds">
300                                    <tal:cell tal:define="cell_value python:row.get(column);">
301                                        <input type="text"
302                                               id="columnId_fieldId"
303                                               value=""
304                                               name="fieldId.columnId:records"
305                                               style="width: 100%;"
306                                               tal:attributes="name string:${fieldName}.${column}:records;
307                                                               id string:${column}_${fieldId};
308                                                               value cell_value"/>
309                                    </tal:cell>
310                                </td>
311                            </tal:vars>
312                        </tr>
313                    </tal:row-loop>
314                    <tal:row-loop tal:repeat="row localMT">
315                        <tr id="datagridwidget-row">
316                            <tal:vars define="fieldId string:${fieldName}_${repeat/row/number}">
317                                <td class="datagridwidget-cell"
318                                    tal:repeat="column columnIds">
319                                    <tal:cell tal:define="cell_value python:row.get(column);">
320                                        <input type="text"
321                                               id="columnId_fieldId"
322                                               value=""
323                                               name="fieldId.columnId:records"
324                                               style="width: 100%;"
325                                               tal:attributes="name string:${fieldName}.${column}:records;
326                                                               id string:${column}_${fieldId};
327                                                               value cell_value"/>
328                                    </tal:cell>
329                                </td>
330                                <td  class="datagridwidget-manipulator">
331                                    <img alt="Delete row"
332                                         onclick="customMetaTagsFunctions.removeFieldRow(this);return false"
333                                         tal:attributes="src string:${portal_url}/delete_icon.gif;" />
334                                </td>
335                                <td class="datagridwidget-hidden-data">
336                                    <input type="hidden"
337                                           tal:attributes="name string:${fieldName}.orderindex_:records;
338                                                           id string:orderindex__${fieldId};
339                                                           value repeat/row/number;" />
340                                </td>
341                            </tal:vars>
342                        </tr>
343                    </tal:row-loop>
344                    <tr id="datagridwidget-empty-row"
345                        class="datagridwidget-empty-row"
346                        tal:define="fieldId string:${fieldName}_new">
347                        <td class="datagridwidget-cell"
348                            tal:repeat="column columnIds">
349                            <span>
350                                <input type="text"
351                                       id="columnId_fieldName_new"
352                                       value=""
353                                       name="fieldName.columnId:records"
354                                       style="width: 100%;"
355                                       tal:attributes="id string:${column}_${fieldName}_new;
356                                                       name string:${fieldName}.${column}:records;" />
357                           </span>
358                        </td>
359                        <td  class="datagridwidget-manipulator">
360                            <img alt="Delete row"
361                                 onclick="customMetaTagsFunctions.removeFieldRow(this);return false"
362                                 tal:attributes="src string:${portal_url}/delete_icon.gif;" />
363                        </td>
364                        <td class="datagridwidget-hidden-data">
365                            <input type="hidden"
366                                   value="template_row_marker"
367                                   tal:attributes="name string:${fieldName}.orderindex_:records;
368                                                  id string:orderindex__${fieldId};" />
369                        </td>
370                    </tr>
371                </tbody>
372            </table>
373            <input type="button"
374                   class="datagridwidget-add-button"
375                   id="datagridwidget-add-button"
376                   value="Add new row"
377                   tal:attributes="onclick string:customMetaTagsFunctions.addRow('${fieldName}')" />
378          </div>
379          <div class="formControls"
380               tal:define="process_creation request/process_creation|nothing;"
381               i18n:domain="plone">
382            <input class="context"
383                   tabindex=""
384                   type="submit"
385                   name="form.button.Save"
386                   value="Save"
387                   i18n:attributes="value"
388                   tal:attributes="tabindex tabindex/next;" />
389            <input class="standalone"
390                   tabindex=""
391                   type="submit"
392                   name="form.button.Cancel"
393                   value="Cancel"
394                   i18n:attributes="value"
395                   tal:attributes="tabindex tabindex/next;" />
396          </div>
397        </fieldset>
398        <input type="hidden" name="form.submitted" value="1" />
399      </form>
400    </div>
401  </body>
402</html>
403
Note: See TracBrowser for help on using the repository browser.