Меню или "Карта сайта" в несколько столбцов

#
Меню или "Карта сайта" в несколько столбцов
Здравствуйте. Подскажите пожалуйста, как действовать?
Создал меню на основе XSL шаблона "карта сайта"
Оно работает, но отображается вертикально. Есть необходимость отображать его горизонтально. Примерно так:
раздел            раздел
-подраздел      -подраздел
-подраздел      -подраздел
                -подраздел
Перерыл весь форум - ничего не нашел Вот код XSL:
<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <xsl:template match="/document">
      
      
      
      <ul>
         <!-- Выбираем узлы структуры -->
         <xsl:apply-templates select="structure[show=1]"/>
      </ul>
   </xsl:template>
   
   <xsl:template match="structure">
      <li>
         <!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
         <xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
         
         <!-- Показывать ссылку, или нет -->
         <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}">
               <span style="{$link_style}">
                  <xsl:value-of disable-output-escaping="yes" select="name"/>
               </span>
            </a>
         </xsl:if>
         
         <!-- Если не показывать ссылку - выводим просто имя ссылки -->
         <xsl:if test="show_link=0">
            <!-- <img border="0" src="/images/menu_point.gif" class="menu_point" width="4" height="7" /> -->
            <xsl:value-of disable-output-escaping="yes" select="name"/>
         </xsl:if>
         
         
         <!-- ЕСЛИ ДОШЛИ ДО СЕРЕДИНЫ СПИСКА -->
         
         <!-- Если не надо разравать колонку на вторых уровнях, то указать: -->
         <!-- <xsl:if test="position() = round(count(/document/structure) div 2)"> -->
            <!--
            <xsl:if test="level = 0 and position() = round(count(/document//structure) div 2)">
               <xsl:text disable-output-escaping="yes">
                  </td>
                  <td valign="top" style="padding-left: 20px">
               </xsl:text>
            </xsl:if>
            -->
            
            <!-- Выбираем подузлы структуры -->
            <xsl:if test="count(structure[show=1]) > 0">
               
               <!-- Выбираем узлы структуры -->
               <xsl:apply-templates select="structure[show=1]"/>
               
            </xsl:if>

         </li>
<!-- На строчку - не более 3-х пунктов, если уже 3 выведено - открывем новую строку -->
       <xsl:if test="position() mod 3 = 0">
   
       </xsl:if>

      </xsl:template>
   </xsl:stylesheet>

Выделенное жирным пытался пристроить, но ничего не получилось
Код вызова довольно простецкий:
<?php
      $Structure = & singleton('Structure');

$param = array();

$external_propertys=array();
$param['parent_id'] = 88;
$param['show_groups'] = true;
$Structure->ShowStructure(1, 'НижнееМеню',$param,$external_propertys);
      ?>

Собственно, как это выглядит, можно увидеть здесь: зми2.рф внизу страницы
А должно получиться то, что на сайте hostcms внизу.
#
Re: Меню или "Карта сайта" в несколько столбцов
Замените у себя
<xsl:if test="position() mod 3 = 0">
</xsl:if>

на (подредактируйте под себя; цифра 3 - это количество элементов в строке)
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
&lt;/p&gt;
&lt;p style="clear:both"&gt;
</xsl:text>
</xsl:if>


Для того, что есть у вас в футере на сайте сейчас, можете использовать для li атрибут float:left, чтобы выстроить в строку.
А вообще я бы вам посоветовал сделать вывод сразу нескольких меню в футере (предварительно в структуре сайта разбив нижнее элементы на разные меню). Каждое меню в div-блок, и верстать, как нравится.
#
Re: Меню или "Карта сайта" в несколько столбцов
Я наверное, не очень точно объяснил. Попробую еще раз: на сайте есть раздел "Каталог изделий" и внем несколько пунктов с подпунктами. Вот и хотелось бы добиться того что бы в строку шли пункты этого раздела, а под каждым из пунктов отображались его подпункты.
За ваше решение благодарю, но, похоже оно мне не подходит
#
Re: Меню или "Карта сайта" в несколько столбцов
Люди, ну пожалуйста! Подскажите вариант, а?!
Авторизация