| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > title с помощью XSL |
| Автор: mimo85 3.9.2013, 23:34 |
| Здравствуйте! Достался по наследству сайт шаблон которого написан на XSL. Сразу скажу что этот язык никогда не изучал, сейчас читаю по ссылкам с форума документацию. Может пользователи мне быстрее подскажут. Мне нужно для отдельных страниц сайта сделать title отличный от того что представлен в шаблоне. Как это можно реализовать? вот что сейчас прописано в шаблоне <title> <xsl:if test="//PARAM[@name='node']"> <xsl:variable name="node" select="//PARAM[@name='node']"/> <xsl:value-of select="//NODE[@node=$node]/@name"/> |  </xsl:if> <xsl:for-each select="//SECTION[contains(//REALM/@name, @name) and @realm != '1000']"> <xsl:sort select="position()" data-type="number" order="descending" /> <xsl:value-of select="@title"/><xsl:if test="position() != last()"> | </xsl:if> </xsl:for-each> </title> как я понял он делает что то типа хлебных крошек и записывает в title заголовок категории потом заголовок статьи. так как в php больше разбираюсь, мысль есть такая - возможно с документа можно сделать инклуд на файл php и от туда отдавать title? Или выслушаю ваши предложения. Заранее спасибо! |
| Автор: mimo85 4.9.2013, 10:13 |
| не подскажите конструкцию кода изменения шаблона - нужно для определенных страниц выводить определенный тайтл а для всех остальных оставить как есть. |
| Автор: diadiavova 4.9.2013, 10:59 |
| В данном случае подойдёт элемент чуз http://msdn.microsoft.com/ru-ru/library/ms256169.aspx в остальном всё зависит от того, что вкладывается в понятие "определённые страницы" |
| Автор: mimo85 4.9.2013, 11:03 |
| "определённые страницы" - это конкретные страницы на сайте - сайт.ru/razdel/stranica/ |
| Автор: diadiavova 4.9.2013, 11:27 |
| Это понятно, речь о критерии, по которому они отличаются от "неопределённых". Если они просто расположены по другим адресам и критерием является именно адрес, то, возможно, есть смысл описать преобразование для них отдельно ( в другом хслт). Если же можно их выявить как-то по содержимому, то чуза вполне хватит. |
| Автор: mimo85 4.9.2013, 11:53 |
| отличить их можно только по адресу страницы т.к. остальное все в одном шаблоне. на пхп это выглядит примерно так <? $change = false; if( $_SERVER['REQUEST_URI'] === "/адрес_страницы"){ $myTitle = "Мой титл"; $myKeywords = "Мои ключи"; $myDescription = "мое описание"; $change = true; } потом <? if($change){ ?> <title><? echo $myTitle; ?></title> <meta name="description" content="<? echo $myDescription;?>"> <meta name="keywords" content="<? echo $myKeywords;?>"> <? } else {?> Тот код что был для титла <? } ?> |
| Автор: diadiavova 4.9.2013, 12:44 |
| Ну так не получится. Здесь проблема в том, что хслт не содержит стандартных функций, позволяющих определить адрес документа. Выход в том, чтобы такие страницы преобразовывать другим хслт. При разумном использовании импорта и инклюда можно избежать дублирования кода. Хотя, если использовать расширения формата, то можно расширить его возможности. Поинтересуйся, есть ли такая возможность для пхп в специальном разделе http://forum.vingrad.ru/forum/php-x-techs-cooperations.html |