Этот код создает div меткой портлетов области контента для всех окон портала, который может внести на странице. Первая часть представляет собой сайт-панировочные сухари для пользователей, чтобы легко определить, где страница находится в навигации. $Content_include velociyt атрибут вызывает либо ${PORTAL_ROOT_HOME}/html/portal/layout/view/portlet.jsp или ${PORTAL_ROOT_HOME}/html/portal/layout/edit/portlet.jsp,, который, в свою очередь, вызывает статический метод processTemplate из RuntimePortletUtil.java для генерации применяется шаблон макета и призывает Liferay-портлетов: время выполнения библиотеки тегов рекурсивно оказать всю портлетов загружены на страницу. Мы опишем, как портал страница отображается в более подробно далее в этой главе.
Базовая структура шаблон макета
В настоящее время мы знаем, что макет можно сделать в презентации портала страницы. Чтобы лучше понять расположение и его структуры, мы будем использовать одну из вне готовых шаблонов Liferay это макет, как например, прежде чем мы на самом деле начать работать на наших собственных шаблонов макета.
Давайте посмотрим на следующие выделенные строки в:
// ignore details
Как вы можете видеть, это XML-файл начинается с версии XML и включает в DTD для параметров макета Шаблоны для Liferay Portal, как в выделенной линией.
DOCTYPE определение доступных на http://www.liferay.com/dtd/liferay-layout-templates_6_0_0.dtd указывает, что Есть два типа компоновки шаблонов: стандартные и пользовательские. Оба они имеют тот же набор параметров.
В соответствии с определением DTD, каждый макет-шаблон включает в себя шаблон-элемент пути, WAP-шаблонов элемент пути, дополнительно миниатюр-элементу, и необязательный элемент ролей. Необязательный элемент ролей содержит список имен ролей, которые обозначают имена ролей безопасности в Liferay Portal. Пользователи, у которых какой-либо из этих ролей будет в состоянии применить этот шаблон макета, чтобы страницы портала. Каждый может использовать этот макет шаблона, если никакой роли имена установлены.
Liferay вне окна стандартных шаблонов макета
Прежде чем обсуждать стандартные шаблоны компоновки, давайте взглянем на окно портала окно состояния.
Как определено в javax.portlet.WindowState.java, Есть три стандартных состояния окна портлета, указанных в спецификации JSR 168 портлета.
WindowState.MAXIMIZED: развернутое окно государство признак того, что портлет может быть только портлетов, оказываемые на странице портала, или что портлет больше места по сравнению с другими портлетов на странице портала.
WindowState.MINIMIZED: когда портлет в свернутом состоянии окна, окна портала должны только оказывать минимальное выход или не выход на всех.
WindowState.NORMAL: нормальное состояние окна указывает, что портлет может быть обмен на страницу с других портлетов.
Есть также два пользовательских Liferay окно состояния, как это определено в:
${PORTAL_ROOT_HOME}/WEB-INF/portlet-custom.xml
exclusive
pop_up
Эти два состояния пользовательских окна для различных целей:
Эксклюзив: пользовательские эксклюзивные состояние окно используется для потоковой передачи двоичных файлов и не оказывают фазы. Это полезно, когда AJAX используется для вызова сервером и получить данные обновляются в течение конкретной области портлетов без обновления всей страницы портала.
pop_up: Есть два вида pop_up окна: Плавающий pop_up дел и оконные pop_up. В случае плавающей pop_up дел, нам нужно иметь WindowState набор параметров для LiferayWindowstate.EXCLUSIVE того, чтобы сделать асинхронный вызов URL портлета. С другой стороны, окна pop_up такие как Печать страницы портлета загружалась в новом окне браузера. Pop_up портлет должен иметь свой WindowState параметра в URL портлетов установлен в LiferayWindowState.POP_UP.
Трое из выше стандартных и нестандартных состояниях окна определены в следующий файл в Liferay: exclusive, maximized, и pop_up.
Соответственно, Есть три стандартных шаблонов макета в Liferay: эксклюзивные, не более, и pop_up, которые показаны в ${PORTAL_ROOT_HOME}/WEB-INF/liferay-layout-templates.xml файл, как показано ниже:
/layouttpl/standard/exclusive.tpl
/layouttpl/standard/exclusive.wap.tpl
/layouttpl/standard/exclusive.png
/layouttpl/standard/max.tpl
/layouttpl/standard/max.wap.tpl
/layouttpl/standard/max.png
/layouttpl/standard/pop_up.tpl
/layouttpl/standard/pop_up.wap.tpl
/layouttpl/standard/pop_up.png
Файлы из этих трех из собственного окна стандартных шаблонов макета находятся в ${PORTAL_ROOT_HOME}/layouttpl/standard каталог серии. Файлы TPL и. PNG файлы. Как показано на следующем exclusive.tpl файл, шаблон макета включает CSS определений, таких как окна портала колонки в некоторых дел теги для управления разметкой пользовательского интерфейса. Ключ кода для обработки содержания портлетов в рамках каждого макета столбец по выделенной линии.
Если вы сравните файл один стандартный шаблон макета, такие как эксклюзивный, с соответствующим файлом другого стандартный шаблон макета, такие как pop_up, вы обнаружите, что они точно так же. Разница с сервером обработки.
Liferay вне окна пользовательских шаблонов макета
Как и выше трех из собственного окна стандартных шаблонов макета, Есть десять из собственного окна пользовательских шаблонов макета определены в:
Эти десять из собственного окна пользовательских шаблонов макета доступны для пользователей с правом разрешения (ManagePages permission) для применения в индивидуальном порядке на странице портала. Их исходные коды находятся в the ${PORTAL_ROOT_HOME}/layouttpl/custom каталогов в виде серии. TPL файлов и. PNG файлы. Подобно файлу в стандартные шаблоны компоновки, скорость метод $ processor.processColumn в каждом файле TPL играет ключевую роль в создании портлетов содержание в частности идентификатор столбца, как показано в следующем фрагменте кода:
$processor.processColumn("column-1", "portlet-column-content portlet-column-content-only")
Создание нового пользовательского макета
Теперь мы знаем, что шаблон макета составляет около, что он делает, и как применять одну из вне окна пользовательских шаблонов Liferay в расположение на странице портала. Настало время для нас, чтобы создать наш собственный пользовательский шаблон макета.
Создание макета шаблонов производится в подобной манере к созданию портлеты и темы. Это может быть выполнено с помощью плагинов Liferay SDK.
Создание скелета шаблон макета в PluginsSDK
Существует layouttpl папки внутри Liferay Плагины SDK, где все новые шаблоны компоновки проживают. SDK предоставляет скрипт для создания скелета нового шаблона макета. Чтобы создать новый шаблон макета, вы запускаете команду в этой папке layouttpl похож на тот, который вы используете для создания нового портала или тему.
Теперь перейдите к ${liferay.plugins.sdk.home}/layouttpl папку и запустите сценарий создания, как:
Для Windows:
create ""
Для Unix / Linux / Mac:
./create.sh ""
Где папка шаблон макета имя в файловой структуре, и это текст, который на самом деле будет отображаться на Manage | Page Layout страницы. Папка шаблон макета имя не должно содержать пустое пространство в имени. Второй параметр должен иметь кавычки, чтобы пробелы в описании шаблона макета должен быть создан.
Например, следующая команда, чтобы создать пустой скелет 1_3 макет Колонны на Windows:
Liferay предлагает Liferay IDE как плагин Eclipse. Вы можете использовать Liferay IDE для создания шаблона макета, включая скелет папки и файлы, созданные сценарии выполняются в приведенной выше команде.
Теперь вы можете пойти в Windows Explorer и заметили, что шаблон макета
папку с именем 1_3_columns-layouttpl был создан автоматически при ${liferay.plugins.sdk.home}/layouttpl папку. Имя папки совпадает с именем шаблона макета, который был указан в качестве первого элемента ввода в командный сценарий создания, с-layouttpl добавляется к концу имени шаблона макета. Она имеет следующие скелета:
Вы заметите, следующие три файла в папке DOCROOT Вашего макета шаблона:
1_3_columns.tpl: Это файл шаблона макета для регулярного веб-браузеров.
1_3_columns.wap.tpl: Это файл шаблона макета для мобильных устройств.
1_3_columns.png: Это стандартный образ миниатюры из того, что раскладка выглядит следующим образом. Это миниатюр отображается, когда пользователь портала с правым кликов разрешение на управление | Макет страницы страницы из меню Dockbar.
Liferay может автоматически определять клиента, который будет использоваться для подключения к узлу портала и подать соответствующий шаблон. Если клиент мобильного устройства, он будет служить 1_3_columns.wap.tpl файл. В противном случае, он будет служить 1_3_columns.tpl файл для обычных веб-браузер.