Как скопировать потомки элемента в специфический атрибут другого элемента с помощью Diazo

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

Скелет для нового сайта имеет несколько мета-тегов:

<meta name="Author" content="author" />

XPATH для автора на странице приветствия Plone по умолчанию:

//span[@class='documentAuthor']/a

XPATH для метатега автора в скелете новой темы:

/html/head/meta[@name='Author']

Поэтому я хотел бы заполнить content="author" как content="Admin" с исходной страницы.

2 ответа

Решение

Лучшее решение, которое я нашел до сих пор:

<replace theme="/html/head/meta[@name='Author']">
 <xsl:variable name="auth" select="//span[@class='documentAuthor']/a" />
 <meta name="Author" content="{$auth}" />
</replace>

Вы не должны пытаться сделать эту работу.

Речь идет о деловых вещах, и тема никогда не должна пытаться делать такие вещи. Это зависит от страницы. У вас будет много исключений * страница поиска * коллекция * страница входа * карта сайта

На всех страницах этих тезисов нет смысла иметь метаданные автора.

Таким образом, вы должны достичь своей цели, создавая аддон и разрабатывая "viewlets".

Подробнее о Viewlet: http://developer.plone.org/views/viewlets.html

Другие вопросы по тегам