SlideShare a Scribd company logo
ВСТРОЕННЫЕ JAVASCRIPTS В 
PLONE 3
 Plone содержит ряд встроенных JavaScripts 
 Скрипты доступны во всех стандартных 
шаблонах без дополнительного 
подключения 
 Подключение скриптов производится при 
использовании соответствующих структур 
html-сода 
 Все источники .js находятся в 
CMFPlone/skins/plone_ecmascript/
Form_tabbing.js 
 FormTabbing - способ разбиения контента 
на множество страниц 
 страницы переключаются выбором 
соответствующей вкладки 
 обычно используется в формах 
редактирования
<dl class="enableFormTabbing"> 
/* Блок определения вкладок */ 
<dt id="fieldsetlegend-unique-id1">button one</dt> 
<dt id="fieldsetlegend-unique-id2">button two</dt> 
/* <Блок определения страниц */ 
<dd id="fieldset-unique-id1">content one</dd> 
<dd id="fieldset-unique-id2">content two</dd> 
</dl>
 Сопоставление вкладок и страниц 
производится по совпадению 
идентификаторов: 
 <dt id="fieldsetlegend-unique-id1">button 
one</dt> 
 <dd id="fieldset-unique-id1">content 
one</dd>
 Использование в формах: 
<form class="enableFormTabbing"> 
<fieldset id="fieldset-[unique-id]"> 
<legend id="fieldsetlegend-[same-id-as-above]"> 
Title</legend> 
</fieldset> 
</form>
table_sorter.js 
 Позволяет сортировать строки таблицы в 
соответствии с выбранным столбцом 
 Используется в стандартном виде для 
объектов типа “Folder’ 
 Выбор столбца "Title" приводит к 
сортировке объектов по алфавиту
Использование : 
приписывание тегу <table> класса: class="listing" applied to the table 
применение уникального id для таблицы 
использование тегов <thead> и <tbody> 
Важно : используйте <th> в <thead>
пример 
<table class="listing" id="my-table"> 
<thead> 
<tr><th>Numbers</th></tr> 
</thead> 
<tbody> <tr><td>123463</td></tr> 
<tr><td>7632</td></tr> 
<tr><td>459629</td></tr> 
<tr><td>27963</td></tr> 
</tbody> 
</table>
 Выбор заголовка "numbers" в таблице 
приведет к сортировке записей по этому 
столбцу 
 Повторный выбор произведет обратную 
сортировку
 По умолчанию table_sorter.js не работает для 
пользователей с ролью «Anonymous» 
 Для изменения: 
 В ZMI > portal_javascripts: 
изменитьусловие для table_sorter.js. 
Для снятия ограничения очистить поле 
условия 
 В jsregistry.xml : 
<javascript cacheable="True" 
compression="safe" conditionalcomment="" 
cookable="True" enabled="True" expression="" 
id="table_sorter.js" inline="False"/>
collapsiblesections.js 
 Свертывание секций дает простой способ 
уменьшить сложность страницы 
 Примером служит реализация секции 
«История изменений» (History information)
Встроенные Java scripts в plone 3
<dl class="collapsible collapsedOnLoad" > 
<dt class="collapsibleHeader"> 
Clickable Title 
</dt> 
<dd class="collapsibleContent"> 
<p>Loremipsum dolor sit amet, consectetur 
adipisicing elit.</p> 
</dd> 
</dl>
 Управление производится установкой 
двух классов элемента страницы 
 Класс collapsible определяет наличие 
такой функциональности 
 Класс collapsedOnLoad задает секцию, 
которая свернута при загрузке страницы 
 Удаление класса позволяет развернуть 
блок при загрузке
cookie_functions.js 
 Если нужно создать cookie для сайта, то 
можно использовать две функции: 
 createCookie, имеет аргументы name, 
value, и days (for expiration). 
 readCookie, принимает параметр name, и 
возвращает значение value.

More Related Content

PPTX
CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)
PDF
Пишем БЭМ правильно
PDF
CSS React Talk
PDF
Сергей Бережной "MIX: зачем смешивать блоки"
PDF
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
PDF
ДАМП 2015 Екатеринбург
PDF
Внутреннее устройство и оптимизация бандла webpack
PDF
Knockoutjs на примере 2ГИС-Онлайн
CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)
Пишем БЭМ правильно
CSS React Talk
Сергей Бережной "MIX: зачем смешивать блоки"
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
ДАМП 2015 Екатеринбург
Внутреннее устройство и оптимизация бандла webpack
Knockoutjs на примере 2ГИС-Онлайн

What's hot (9)

DOCX
блочная верстка
PDF
004 divs&amp;spans (presentation)
PDF
Сергей Сыркин - CSS
PDF
«Организация Frontend-разработки на крупном проекте» — Дмитрий Кузнецов
PDF
СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2
PDF
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
PPT
Crossbrowser Css layout
PDF
Maksim Shirshin
ODP
XML Schema
блочная верстка
004 divs&amp;spans (presentation)
Сергей Сыркин - CSS
«Организация Frontend-разработки на крупном проекте» — Дмитрий Кузнецов
СВЯТ ЛОГИН «Як провести пошук на xss атаку» Online QADay 2020 #2
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
Crossbrowser Css layout
Maksim Shirshin
XML Schema
Ad

Similar to Встроенные Java scripts в plone 3 (20)

PDF
Js templating stepan_reznikov
PDF
Степан Резников "Шаблонизация на клиенте"
PPTX
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
PPTX
Web осень 2013 лекция 4
PPT
Web весна 2012 лекция 4
PPTX
Мировые информационные ресурсы. Лекция 4
PPT
Web осень 2012 лекция 8
PDF
Symfony2. На чем можно сэкономить время при разработке?
PDF
basis.js - почему я не бросил разрабатывать свой фреймворк
PPTX
Metadata + JavaScript = ♥ Применение метаданных ViewModel для конфигурировани...
PDF
Основы работы с таблицами стилей CSS
PPT
Tables frames
PPT
лабраб 7
PDF
Лекция #7. Django ORM
PDF
Лекция 4 Client-side
PDF
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 2...
PDF
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
PDF
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
PPT
оптимизация скорости загрузки страницы
PPTX
05 db server_deployment_ru
Js templating stepan_reznikov
Степан Резников "Шаблонизация на клиенте"
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Web осень 2013 лекция 4
Web весна 2012 лекция 4
Мировые информационные ресурсы. Лекция 4
Web осень 2012 лекция 8
Symfony2. На чем можно сэкономить время при разработке?
basis.js - почему я не бросил разрабатывать свой фреймворк
Metadata + JavaScript = ♥ Применение метаданных ViewModel для конфигурировани...
Основы работы с таблицами стилей CSS
Tables frames
лабраб 7
Лекция #7. Django ORM
Лекция 4 Client-side
PG Day'14 Russia, PostgreSQL как платформа для разработки приложений, часть 2...
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
оптимизация скорости загрузки страницы
05 db server_deployment_ru
Ad

More from Sergey Greger (7)

PPTX
Реалтзация связанных списков в CMS Plone
PPTX
Разработка проекта в CMS Plone
PPTX
создание пользовательских типов в Dexterity
PPTX
разработка контент типа через Web
PPTX
Каталоги и поиск в plone
PPT
компоненты E learn для Plone
PPTX
Реализация инструментальной среды семантического моделирования учебного про...
Реалтзация связанных списков в CMS Plone
Разработка проекта в CMS Plone
создание пользовательских типов в Dexterity
разработка контент типа через Web
Каталоги и поиск в plone
компоненты E learn для Plone
Реализация инструментальной среды семантического моделирования учебного про...

Встроенные Java scripts в plone 3

  • 2.  Plone содержит ряд встроенных JavaScripts  Скрипты доступны во всех стандартных шаблонах без дополнительного подключения  Подключение скриптов производится при использовании соответствующих структур html-сода  Все источники .js находятся в CMFPlone/skins/plone_ecmascript/
  • 3. Form_tabbing.js  FormTabbing - способ разбиения контента на множество страниц  страницы переключаются выбором соответствующей вкладки  обычно используется в формах редактирования
  • 4. <dl class="enableFormTabbing"> /* Блок определения вкладок */ <dt id="fieldsetlegend-unique-id1">button one</dt> <dt id="fieldsetlegend-unique-id2">button two</dt> /* <Блок определения страниц */ <dd id="fieldset-unique-id1">content one</dd> <dd id="fieldset-unique-id2">content two</dd> </dl>
  • 5.  Сопоставление вкладок и страниц производится по совпадению идентификаторов:  <dt id="fieldsetlegend-unique-id1">button one</dt>  <dd id="fieldset-unique-id1">content one</dd>
  • 6.  Использование в формах: <form class="enableFormTabbing"> <fieldset id="fieldset-[unique-id]"> <legend id="fieldsetlegend-[same-id-as-above]"> Title</legend> </fieldset> </form>
  • 7. table_sorter.js  Позволяет сортировать строки таблицы в соответствии с выбранным столбцом  Используется в стандартном виде для объектов типа “Folder’  Выбор столбца "Title" приводит к сортировке объектов по алфавиту
  • 8. Использование : приписывание тегу <table> класса: class="listing" applied to the table применение уникального id для таблицы использование тегов <thead> и <tbody> Важно : используйте <th> в <thead>
  • 9. пример <table class="listing" id="my-table"> <thead> <tr><th>Numbers</th></tr> </thead> <tbody> <tr><td>123463</td></tr> <tr><td>7632</td></tr> <tr><td>459629</td></tr> <tr><td>27963</td></tr> </tbody> </table>
  • 10.  Выбор заголовка "numbers" в таблице приведет к сортировке записей по этому столбцу  Повторный выбор произведет обратную сортировку
  • 11.  По умолчанию table_sorter.js не работает для пользователей с ролью «Anonymous»  Для изменения:  В ZMI > portal_javascripts: изменитьусловие для table_sorter.js. Для снятия ограничения очистить поле условия  В jsregistry.xml : <javascript cacheable="True" compression="safe" conditionalcomment="" cookable="True" enabled="True" expression="" id="table_sorter.js" inline="False"/>
  • 12. collapsiblesections.js  Свертывание секций дает простой способ уменьшить сложность страницы  Примером служит реализация секции «История изменений» (History information)
  • 14. <dl class="collapsible collapsedOnLoad" > <dt class="collapsibleHeader"> Clickable Title </dt> <dd class="collapsibleContent"> <p>Loremipsum dolor sit amet, consectetur adipisicing elit.</p> </dd> </dl>
  • 15.  Управление производится установкой двух классов элемента страницы  Класс collapsible определяет наличие такой функциональности  Класс collapsedOnLoad задает секцию, которая свернута при загрузке страницы  Удаление класса позволяет развернуть блок при загрузке
  • 16. cookie_functions.js  Если нужно создать cookie для сайта, то можно использовать две функции:  createCookie, имеет аргументы name, value, и days (for expiration).  readCookie, принимает параметр name, и возвращает значение value.