Кастомизация Plone-сайта

Запретить регистрацию

В ZMI -> manage_access портала лишить анонима права add portal member, снять наследование, оставить права только менеджеру.

Запретить отсылку станицы мылом

ZMI -> лишить анонима права Allow sendto в секьюрити портала, снять наследование.

Устанавливаем русский язык порталу

plone_control_panel ('Установки сайта') -> Языковые настройки - выбираем русский, сохраняемся.

Генерация пароля и отсылка его по почте

plone_control_panel ('Установки сайта') -> reconfig_form ('Установки портала') -> выбрать Сгенерировать и отправить по электронной почте начальный пароль участника

TextIndexNG2

plone_control_panel -> TextIndexNG2 maintenance - сконвертировать индексы до надписи - "SearchableText is already a TextIndexNG2 instance. Nothing to do."

Портлеты

Убрать портлет с логином, перенести остальное в левую колонку портала:

ZMI -> свойства портала -> в left_slots:

here/portlet_login/macros/portlet - удалить, остается только:

    here/portlet_navigation/macros/portlet
    here/portlet_calendar/macros/portlet
    here/portlet_news/macros/portlet
    here/portlet_events/macros/portlet
    here/portlet_recent/macros/portlet
    here/portlet_related/macros/portlet
    here/portlet_review/macros/portlet

right_slots - пустой

Конфигурирование/добавление разделов сайта

разрешить себе редактировать Short Names -> /personalize_form('Мои настройки' -> 'Персональные настройки') -> Allow editing of Short Names - поставить галочку

Поменять дефолтный словарь евентам

ZMI -> portal_metadata -> Elements -> Update Element Metadata Policies.Subject рихтуем Vocabulary

Совместить новости с главной страницей

ZMI -> Properties -> default_page -> пишем news, сохраняем. news/properties -> Исключить из навигации.

Поменять логотип

ZMI - portal_skins/plone_images/logo.jpg -> Customize

Кастомизация раскраски скина

ZMI -> portal_skins/plone_styles/ploneCustom.css -> Customize

ZMI -> portal_skins/plone_styles/base_properties - Customize

Добавить в новостную папку отображение контента отличного от новостного

news/criterion_edit_form -> добавляем в критерии помимо "Новость" еще и, например, "Страница" (щелчок мышой с контролом) -> Сохраняем

Убрать подвал

ZMI -> portal_skins/plone_templates/footer/manage_main -> Customize -> редактируем сохраняем

ZMI -> portal_skins/plone_templates/colophon/manage_main -> Customize -> убираем кнопки со всякой хуйней про соответствие стандартам, оставляем только powered by Plone -> сохраняем

Сделать вкладку "разрешить RSS" видимой

ZMI -> portal_syndication -> Visible? -> ставим галочку, сохраняем.

Изменить заголовок rss-потока (дефолтный кривой)

ZMI -> portal_skins -> plone_templates -> rss_template -> Customize.

находим строку:

   <title tal:content="context/pretty_title_or_id">The title</title>

меняем на:

   <title> 
    <metal:block define-slot="title">
       <tal:block content="context/Description">The title</tal:block>

       </metal:block>
   </title>

Отрихтовать корректное отображение заголовка портала

ZMI - portal_skins/plone_templates/header/manage_main -> Customize

   <title tal:define="portal_title portal_properties/title;
       page_title object_title">
       <tal:pagetitle replace="page_title">
           Inserts page title
        </tal:pagetitle>
              &mdash;
        <tal:portaltitle replace="portal_title">
            Inserts portal title
        </tal:portaltitle>

   </title>

меняем на:

   <title tal:define="portal_title portal_properties/title;
                       page_title object_title">
        <tal:pagetitle replace="page_title">
            Inserts page title
        </tal:pagetitle> - <tal:portaltitle replace="portal_title">

            Inserts portal title
        </tal:portaltitle>
   </title>

Запретить создание юзерфолдера вновь зарегестрированным пользователям

Из ФАКАа

ZMI -> portal_membership -> Turn folder creation off

Настройка RSS2

Установить qRSS2 , чтобы выводился заголовок(проблемы с юникодом) кастомизируем RSS2

ZMI -> portal_skins/qrss2syndication/RSS2 - Customize

Вместо:

   <title tal:define="portal_title here/portal_properties/title;
            here_title here/title_or_id;
            template_title template/title_or_id;
            here_title python:test(portal_title != here_title, here_title, template_title)"
            tal:content="string:$portal_title - $here_title">Title of page</title>

Подставляем:

   <title tal:content="here/Description">Title of page</title>

Ограничиваем объем отдаваемого контента для документов

ZMI -> portal_skins/qrss2syndication/document_item -> Customize

   <tal:x replace="structure python:'&lt;[CDATA['+res.CookedBody()+']]&gt;'"/>

меняем на:

   <tal:x replace="structure python:'&lt;[CDATA['+res.CookedBody()[:4096]+'...]]&gt;'"/>

Запретить анонимные комментарии в Coreblog2

ZMI -> blog/manage_access -> COREBlog2: Add COREBlogComment

снять наследование, разрешить комменты мемберу и манагеру (note: в общем случае когда убирается наследование, права манагеру даются всегда)

Запретить анонимам посылать письма через форму в контактах

ZMI -> portal_actions/manage_editActionsForm -> Title = Contact, поменять права с View на Allow sendto

Allow sendto запрещен анонимам (см. настройку по отсылке страниц по почте)

Подправить шаблоны отсылки извещений о трэкбеках и комментах в кореблоге, сабжект в кириллице по дороге бьется

ZMI -> portal_skins/COREBlog2/cbaddComment/manage_main -> Customize ->

          msgsubject = context.translate('comment_notify_title')

меняем на:

          msgsubject = 'comment notify'

ZMI -> plone/portal_skins/COREBlog2/tbping/manage_main -> Cusomize

             msgsubject = context.translate('trackback_notify_title')

на:

             msgsubject = 'trackback notify'

Оторвать звике rst(некорректная работа с юникодом)

в свойствах папки где живет вика в ZMI -> zwikifolder/manage_propertiesForm добавить lines параметр Name=allowed_page_types, Type=lines; -> Add, после чего в Value вносим типы по одному на каждой строке:

   stx
   html
   moin
   plaintext
   wwml

Сохраняемся

PS. чтобы rst работал корректно в zope.conf надо прописать следующее:

   rest-input-encoding utf-8
   rest-output-encoding utf-8
   rest-language-code ru

Разрешить добавлять и редактировать вику всем участникам портала

ZMI -> wiki/manage_access -> ставим галочки мемберу

Zwiki: Add comments

Zwiki: Add pages

Zwiki: Edit pages

Zwiki: Rate pages

Zwiki: Rename pages

Zwiki: Change page types

а так же

Zwiki: Add comments - снять наследование, добавить манагера

Запретить регистренному пользователю комментарии в блоге

'установки сайта' -> администрирование пользователей и групп -> выносим юзверя из мемберов.

Разрешить пользователям подписку на вику

Источник

ZMI -> zwikifolder/manage_addProperty

добавить стоковый параметр: mail_replyto, тип string, значение no_replay@домен

Zwiki-портрлет с подсказкой

http://zwiki.org/HowToCreateAPloneHelpPortlet

Zope, ZMI - корректировка чарсета

Указать в корне ZMI свойство management_page_charset = UTF-8

Zwiki: показывать вкладку подписаться только мемберам

ZMI -> portal_types/Wiki%20Page/manage_editActionsForm

ищем Title == Subscribe в поле Condition (Expression) пишем выражение python:object.isMailoutEnabled() and member вместо object/isMailoutEnabled

Zwiki: Включить issue tracker (переведено как "свойства элемента")

курить здесь

с правами менеджера сделать один раз zwikifolred/SOMEPAGE/setupTracker

в ZMI -> zwikifolder/manage_propertiesForm отрихтовать issue_*