Написание портлетов для Liferay CMS / Portal - PullRequest
1 голос
/ 25 июня 2010

Я новичок в портлетах и ​​у меня есть вопрос о том, как они работают на порталах CMS (мы оцениваем Liferay как CMS).

Допустим, например, я хотел бы создать портлет для отображения всех книг, необходимых для определенного курса. Вам не нужно входить в систему, чтобы увидеть это, это будет отображаться на общедоступном веб-сайте.

В CMS я создам две страницы для ENGL-100 и HIST-300.

Я хочу добавить один и тот же портлет на каждую страницу. Я ожидаю развернуть портлет как файл войны.

Как я скажу портлету на каждой странице, какой курс искать? Не говорите мне, что я должен изменить файл portlet.xml для каждой темы. Имеет ли портлет доступ к параметрам URL?

Ответы [ 2 ]

4 голосов
/ 03 июля 2010

Портлеты не должны напрямую полагаться на параметры URL - именно по этой причине - у вас может быть несколько экземпляров на одной странице, и вы не хотите, чтобы они сталкивались (так как все они будут видеть параметрыво время рендеринга, хотя только один получит действие)

В Liferay вы можете просто отбросить 2 портлета, и если вы используете Preferences через представление EDIT или Liferay Config, префы будут видны отдельно для визуализации начального состояния.Контейнер будет обрабатывать, сохраняя 2 портлета прямыми.

0 голосов
/ 25 июня 2010

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

...