Хобрук: Ваш путь к мастерству в программировании

Как создать общий макет страницы с несколькими портлетами

Я новичок в разработке портлетов и в настоящее время изучаю liferay.

Я хотел бы спросить, как лучше всего создать веб-страницу, например, с обычным требованием: 1.) имеет заголовок 2.) имеет левые виджеты 3.) имеет нижний колонтитул 4.) справа от левой стороны находится контент

В настоящее время я запутался с портлетом, насколько я понимаю, портлет является автономным и не сможет изменить другую часть страницы. Так, например, у меня есть портлет в левой части со ссылками, если я нажму на него, как я буду отображать динамическое содержимое в правильном содержимом?

Кроме того, если у меня есть меню в верхней части страницы, в настоящее время я добавил страницу с портлетами из liferay. Проблема в том, что я должен добавить в каждый портлет элементы слева и внизу? Есть ли простой способ сделать это?

Спасибо,
czetsuya

30.05.2012

Ответы:


1

Вероятно, вам следует задавать эти вопросы по отдельности, но я постараюсь ответить на них оба.

<сильный>1. Связь с портлетом

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

  • Атрибуты сеанса — они очень полезны, но ими не следует злоупотреблять, так как это может отрицательно сказаться на производительности; вы просто записываете некоторые атрибуты сеанса на этапе действия одного портлета и читаете их на этапе вывода другого портлета.
  • Общие параметры рендеринга — дополнение Portlet 2.0 к спецификации портлета. Они более эффективны, чем атрибуты сеанса, но требуют дополнительной настройки в файле portlet.xml. Конкретная реализация выходит за рамки этого вопроса, но в интернете можно найти много материалов на эту тему.

Конкретный случай отображения содержимого в одном портлете на основе действий в другом портлете, о котором вы упомянули, довольно распространен, и для этого лучше всего подходят общедоступные параметры рендеринга. Это можно увидеть в родных портлетах Liferay Asset Publisher + Navigation (Tag, Category).

<сильный>2. Шаблоны макетов

Описанное вами требование решается шаблонами макетов в Liferay. В Liferay их довольно много, и они в сочетании с портлетом Вложенные портлеты позволяют моделировать множество сложных макетов страниц. Вы можете установить шаблоны макетов для каждой страницы, в верхней панели есть ссылка для их выбора (для пользователей с правами администратора). Вы также можете создавать собственные настраиваемые шаблоны макетов, в которые можно встраивать портлеты. Еще раз, пожалуйста, поищите в Интернете портлет для встраивания liferay и шаблоны компоновки liferay — по этим двум темам легко найти много подробной информации (которую нельзя сказать о каждой теме, связанной с разработкой Liferay).

31.05.2012

2

Для этого вы можете создавать макеты страниц, макеты страниц на самом деле являются скелетами, которые используются в качестве базового шаблона.

Вы можете создать макет страницы, выбрать шаблон макета, тему, цветовую схему, добавить портлеты, настроить их.

Всякий раз, когда вы хотите создать новую страницу, просто выберите макет страницы, и ваша новая страница будет иметь все конфигурации, которые вы сделали для макетов страниц.

Это очень полезно, когда вы создаете сайты с тяжелым содержимым.

31.05.2012
Новые материалы

Введение в контекст React
В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

Это оно
Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

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

C в C.R.U.D с использованием React-Redux
Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

5 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..