Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> masterpage для шаблона xslt, как подгрузить внешний шаблон? 
V
    Опции темы
lankin
Дата 7.12.2009, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Собственно сабж. 

Нужно считать внешний шаблон и в виде переменной или шаблона использовать. Чтоб каждый раз в новом шаблоне не писать одно и то же.
PM MAIL   Вверх
diadiavova
Дата 7.12.2009, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Элементы import и include.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
lankin
Дата 7.12.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Да да, include и import. Спасибо.
PM MAIL   Вверх
lankin
Дата 7.12.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



вот такой внешний xslt:
Код

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

  <xsl:param name="login_link"/>
  
  <xsl:template name="header" match="/">
    <table cellspacing="0" cellpadding="3" border="0" width="100%" class="n_w100 n_t16 p0 n_border0">
      <tr valign="top" bgcolor="#0055C2" class="n_vti">
        <td align="right" class="n_tar p3">
          <xsl:element name="a">
            <xsl:attribute name="href">
              <xsl:value-of select="$login_link"/>
            </xsl:attribute>
            <xsl:attribute name="class">
              n_tdu n_w
            </xsl:attribute>
            <xsl:element name="font">
              <xsl:attribute name="color">
                #ffffff
              </xsl:attribute>
              <xsl:attribute name="size">
                2
              </xsl:attribute>
              Управление профилем
            </xsl:element>
          </xsl:element>
        </td>
      </tr>
    </table>
  </xsl:template>
</xsl:stylesheet>


он вызывается в основном шаблоне вот так:
Код

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="LoginLink"/>

<xsl:include href="file:///F:/Working Projects/XSLTTemplates/Master_Header.xslt"/>

<xsl:template match="/">
<xsl:element name="div">
  <xsl:call-template name="header">
    <xsl:with-param name="login_link" select="$LoginLink" />
  </xsl:call-template>
</xsl:element>
</xsl:template>
</xsl:stylesheet>



Когда вызываю шаблон - передаю LoginLink, но почему то в итоге все равно он у меня пустой.  Может когда подключаются внешние шаблоны include-ом, то в них нельзя передать переменную? что-то с областью видимости?
PM MAIL   Вверх
diadiavova
Дата 7.12.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Если ты вызываешь шаблон header и пытаешься ему передать параметр, то этот параметр надо засунуть вовнутрь вызываемого шаблона
Код

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

  
  <xsl:template name="header" match="/">
  <xsl:param name="login_link"/>
    <table cellspacing="0" cellpadding="3" border="0" width="100%" class="n_w100 n_t16 p0 n_border0">
      <tr valign="top" bgcolor="#0055C2" class="n_vti">
        <td align="right" class="n_tar p3">
          <xsl:element name="a">
            <xsl:attribute name="href">
              <xsl:value-of select="$login_link"/>
            </xsl:attribute>
            <xsl:attribute name="class">
              n_tdu n_w
            </xsl:attribute>
            <xsl:element name="font">
              <xsl:attribute name="color">
                #ffffff
              </xsl:attribute>
              <xsl:attribute name="size">
                2
              </xsl:attribute>
              Управление профилем
            </xsl:element>
          </xsl:element>
        </td>
      </tr>
    </table>
  </xsl:template>
</xsl:stylesheet>



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
lankin
Дата 7.12.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



Работает!!!! Огромное спасибо, дядя вова. Получается, что это просто кусок от <template> до </template> вставляется из внешнего шаблона в основной. Потому  и не было у меня там даже намека на параметр. Ясно, спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.