Ссылка на страницу, которая «содержит» определенную статью веб-контента в Liferay 6 - PullRequest
1 голос
/ 21 июля 2011

Я создаю портлет для сайта на базе Liferay EE 6.0 SP1, который будет предлагать связанный или другой интересный контент в зависимости от того, на что смотрит пользователь в данный момент.

Например, предположим, что пользователь включенСтраница, содержащая портлет отображения веб-контента, отображающий статью 5. Веб-контент Мой портлет будет содержать HTML-ссылки на страницы, где пользователь может просматривать статьи 6 и 7 веб-контента (которые содержат контент, который определен как аналогичный контенту).в веб-контенте 5).

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

Есть ли способ:

  • Свяжите статью веб-контента со страницей, чтобы при наличииrmer, я могу получить последний?
  • Или определить страницы, которые содержат портлеты, которые отображают статью веб-контента?

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

Ответы [ 3 ]

0 голосов
/ 05 августа 2011

Боюсь, что эта функция еще не существует в Liferay.По крайней мере, на страницах Liferay есть запрос функции по той же теме.Даты обсуждения - март 2011 года, поэтому, вероятно, что-то скоро будет:)

0 голосов
/ 16 сентября 2011

Другое решение, которое мы сейчас рассматриваем, заключается в создании пользовательского режима просмотра для портала (т. Е. «ПРОСМОТР», «ПЕЧАТЬ» и т. Д.), Который называется «XML».Когда портал обнаруживает, что браузер запрашивает режим XML (аналогично , как Sitecore определяет, какое устройство использовать ), он обходит тему, и все портлеты, поддерживающие этот режим XML, отображают свое содержимое в формате XML..

Вывод может выглядеть примерно так:

<?xml version="1.0" encoding="utf-8" ?>
<portal>
  <portlet id="..." title="..." ...>
    <JournalArticle>
      <uuid_>...</uuid_>
      ...
    </JournalArticle>
    ...
  </portlet>
</portal>

Периодический процесс затем сканирует сайт в режиме XML и обновляет индекс Lucene.

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

0 голосов
/ 03 августа 2011

Один из подходов к этой проблеме заключается в добавлении элемента управления «Ссылка на страницу» в структуру статьи веб-контента. Контент-менеджеры могут использовать это для создания многозначных отношений между статьями веб-контента и страницами.

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

Например, менеджер контента может создать статью веб-контента под названием «Наша история», но указать страницу «Продукты» в качестве значения элемента управления этой ссылки «Ссылка на страницу». Когда портлет связанного содержимого отображает статью «Наша история», он создает гиперссылку на страницу «Продукты», которая в этом случае нигде не отображает статью «Наша история».

Возможно, это можно считать особенностью, но, возможно, есть лучший способ сделать это.

...