Несколько вопросов про ссылки

#
Несколько вопросов про ссылки
Добрый день уважаемые. У меня вот поднакопилась пара вопросов:
1. Почему после интеграции макета в HostCMS, перестает работать a:hover для просмотренных ссылок?

2. Нужно ли еще что прописывать в макете, когла вставляю изображение, а то при переходе на другие страницы, вида ../link/ изображения не показываются.

3. Когда создаю макет и вставляю CSS с помощью <?$kernel->show_CSS()?> , большинство стилей перестают работать,
а если так: <link rel="stylesheet" type="text/css" href="global.css">, то отображается нормально, а при работе с редактором стилей уже нет.

4. И еще, можно ли сделать активную ссылку не ссылкой, а простым текстом? Что бы страница сама на себя не ссылалась.
Модератор
#
Re: Несколько вопросов про ссылки
1. Смотрите ошибку в CSS, система управления здесь не имеет влияния. Если ошибку не можете найти - присылайте запрос в поддержку с адресом сайта и примером CSS.
2. Пути к картинкам в макете указываются с ведущим слэшем, например /images/my.gif
3. Где то ошибка, стиль должен быть загружен в параметрах макета. Если не получается - создавайте запрос в поддержку.
4. Если в меню - не вижу проблем, проверьте, если узел текущий - то не выводите его.
#
Re: Несколько вопросов про ссылки
Спасибо за ответ, буду разбираться.
Модератор
#
Re: Несколько вопросов про ссылки
пожалуйста
#
Re: Несколько вопросов про ссылки
Вроде совсем разобрался, кроме ссылок в меню. Если не трудно, может подскажете на конкретном примере?



<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />

<xsl:template match="/document">




   <!-- Выбираем узлы структуры -->
   <xsl:apply-templates select="structure[show=1]"/>


</xsl:template>

<xsl:template match="structure">
   
   <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
   <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
   
      
      <!-- Расчитываем размер отступа -->
   <xsl:variable name="padding" select="level * 10"/>
   
   
<li>

      
      <!-- Показывать ссылку, или нет -->
      <xsl:if test="show_link=1">
      
         <!-- Определяем адрес ссылки -->
         <xsl:variable name="link"><xsl:choose>
         <!-- Если внешняя ссылка -->
         <xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when>
         <!-- Иначе если внутренняя ссылка -->
         <xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise>
         </xsl:choose></xsl:variable>

         <!-- Определяем стиль вывода ссылки -->
         <xsl:variable name="link_style"><xsl:choose>
         <!-- Выделяем текущую страницу жирным (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
         <xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">font-weight: bold</xsl:when>
         
<!-- Иначе обычный вывод с пустым стилем -->
         <xsl:otherwise></xsl:otherwise>
         </xsl:choose></xsl:variable>

         <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
      </xsl:if>


      <!-- Если не показывать ссылку - выводим просто имя ссылки -->
      <xsl:if test="show_link=0">
         <xsl:value-of disable-output-escaping="yes" select="name"/>
      </xsl:if>
   
</li>
   
</xsl:template>
</xsl:stylesheet>

#
Re: Несколько вопросов про ссылки
Значит не подскажите?
Модератор
#
Re: Несколько вопросов про ссылки
Konan-design,
Посмотрите, пожалуйста, правила обращения в службу поддержки:
http://www.hostcms.ru/documentation/support_rules/

Недостаточно данных для ответа на вопрос - укажите адрес сайта с проблемой, непонятна связь указанного XSL-шаблона и проблемы вывода картинок в макете.
#
Re: Несколько вопросов про ссылки
Да нет, Вы не правильно поняли, с выводом изображений в макете я разобрался, как и со всем остальным.
Я сейчас хочу сделать в меню активные ссылки не ссылками, а простым текстом, что бы страница сама на себя не ссылалась. А XSL-шаблон как раз для этого меню.
Поможете?
#
Re: Несколько вопросов про ссылки
Понятно
Модератор
#
Re: Несколько вопросов про ссылки
Konan-design,
Добавлено простое условие (выделено жирным)

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />

<xsl:template match="/document">

   <!-- Выбираем узлы структуры -->
   <xsl:apply-templates select="structure[show=1]"/>


</xsl:template>

<xsl:template match="structure">
  
   <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
   <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
  
      
      <!-- Расчитываем размер отступа -->
   <xsl:variable name="padding" select="level * 10"/>
  
  
<li>

      
      <!-- Показывать ссылку, или нет -->
      <xsl:if test="show_link=1">
      
         <!-- Определяем адрес ссылки -->
         <xsl:variable name="link"><xsl:choose>
         <!-- Если внешняя ссылка -->
         <xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when>
         <!-- Иначе если внутренняя ссылка -->
         <xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise>
         </xsl:choose></xsl:variable>

         <!-- Определяем стиль вывода ссылки -->
         <xsl:variable name="link_style"><xsl:choose>
         <!-- Выделяем текущую страницу жирным (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
         <xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">font-weight: bold</xsl:when>
         <!-- Иначе обычный вывод с пустым стилем -->
         <xsl:otherwise></xsl:otherwise>
         </xsl:choose></xsl:variable>

        
         <!-- Выводим ссылку -->
         <xsl:choose>
            <!-- Текущий узел выводим просто текстом -->
            <xsl:when test="current_structure_id=@id">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </xsl:when>
            <!-- Не текущий пункт меню -->
            <xsl:otherwise>
               <a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
            </xsl:otherwise>
         </xsl:choose>
        

        
      </xsl:if>

      <!-- Если не показывать ссылку - выводим просто имя ссылки -->
      <xsl:if test="show_link=0">
         <xsl:value-of disable-output-escaping="yes" select="name"/>
      </xsl:if>
  
</li>
  
</xsl:template>
</xsl:stylesheet>
Авторизация