Как скопировать потомки элемента в специфический атрибут другого элемента с помощью 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