#jsp #jstl #opencms
#jsp #jstl #opencms
Вопрос:
Я пытаюсь распечатать Open Graph meta в основном шаблоне, но я не могу получить информацию о содержимом, отображаемом на странице сведений, я могу получить доступ только к странице контейнера сведений.
Например, чтобы установить og:image, я создал свойство в файле theme .config, но я не могу получить эту информацию из «подробного» содержимого:
<meta name="og:image" content="<cms:property name="mytheme.ogImage" file="uri" default="" />">
<meta name="og:image" content="<cms:property name="mytheme.ogImage" file="search" default="" />">
<meta name="og:image" content="<cms:property name="mytheme.ogImage" file="element.uri" default="" />">
<meta name="og:image" content="<cms:property name="mytheme.ogImage" file="search.element.uri" default="" />">
<meta name="og:image" content="<cms:property name="mytheme.ogImage" file="/.content/blogentries/be_00009.xml" default="" />">
Последний — единственный, который работает, но я не знаю, как получить путь к содержимому внутри основного шаблона.
Я полагаю, что есть более простой способ сделать это, но я его не нахожу.
Заранее благодарю вас.
PS: Я работаю с OpenCms 10.5.4.
Ответ №1:
Что ж, после многих попыток единственное «решение», с которым я пришел, — это извлечение ресурса из базы данных, устанавливающее соединение непосредственно в Java, как показано в этом примере.
С помощью этого соединения я сделал SQL-запрос, чтобы найти ресурс, связанный с javax.servlet.forward.request_uri текущей страницы. Как только у меня будет ресурс (включая его имя файла) Я могу получить его свойства с помощью <cms:property name="mytheme.ogImage" file="${filename}" default="" />