Перейти к содержимому


- - - - -

Карта сайта исчезает при включении split.auto = on


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 nexer

nexer

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 29.10.2009, 10:16

Здравствуйте! Подскажите пожалуйста, почему при включении режима split.auto, не отображается карта сайта?

#2 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 29.10.2009, 10:24

Просмотр сообщенияnexer (29.10.2009, 10:16) писал:

Здравствуйте! Подскажите пожалуйста, почему при включении режима split.auto, не отображается карта сайта?
Здравствуйте, nexer,

Мы знаем об этой проблеме и в версии 2.0.1 она будет решена.

Для решения ее сейчас нужно для страницы карты сайта прописать свойство @@nosplit=1. Это относится и к странице списка тэгов.

#3 nexer

nexer

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 29.10.2009, 10:44

Спасибо! Тогда еще вопрос по теме, будет ли в версии 2.0.1 карта сайта разбиваться на страницы и возможно ли сделать разбивку по количеству url на странице?

#4 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 29.10.2009, 11:15

Просмотр сообщенияnexer (29.10.2009, 10:44) писал:

Спасибо! Тогда еще вопрос по теме, будет ли в версии 2.0.1 карта сайта разбиваться на страницы и возможно ли сделать разбивку по количеству url на странице?
Нет, версия 2.0.1 будет содержать только незначительные внутренние улучшения.

Разбить карту сайта на страницы можно, но потребуется изменить алгоритм вывода карты сайта и связать его с номером страницы.

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

первая страница карты сайта:

-страница 1
-страница 2
--страница 3
--страница 4
---страница 5
----страница 6
--страница 7
---страница 8

вторая страница карты сайта:

---страница 9
---страница 10
-страница 11
--страница 12
--страница 13
---страница 14

Возникает вопрос, как показать, к какой странице относится страница 9? Как визуально выделить ее в структуре? Это особенно актуально, если названия страниц несут смысловую нагрузку и зависят от названия родительского раздела.

Можно показать как выше (т.е. без вложенности), можно так (т.е. добавив многоточия):

-страница 2
--...
--страница 7
---...
---страница 8
---страница 9
-страница 10
--страница 11
--страница 12
---страница 13

В любом из случаев можно создать свой модуль, который будет отвечать за формирование карты сайта с постраничной навигацией, и использовать его вместо стандартного.

#5 hlzon

hlzon

    Активный участник

  • Пользователи
  • PipPipPip
  • 58 сообщений

Отправлено 29.10.2009, 11:59

а возможно ли разбить страницу с тегами, на несколько страниц

#6 nexer

nexer

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 29.10.2009, 12:20

Просмотр сообщенияsupport (29.10.2009, 11:15) писал:

Нет, версия 2.0.1 будет содержать только незначительные внутренние улучшения.

Разбить карту сайта на страницы можно, но потребуется изменить алгоритм вывода карты сайта и связать его с номером страницы.

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

первая страница карты сайта:

-страница 1
-страница 2
--страница 3
--страница 4
---страница 5
----страница 6
--страница 7
---страница 8

вторая страница карты сайта:

---страница 9
---страница 10
-страница 11
--страница 12
--страница 13
---страница 14

Возникает вопрос, как показать, к какой странице относится страница 9? Как визуально выделить ее в структуре? Это особенно актуально, если названия страниц несут смысловую нагрузку и зависят от названия родительского раздела.

Можно показать как выше (т.е. без вложенности), можно так (т.е. добавив многоточия):

-страница 2
--...
--страница 7
---...
---страница 8
---страница 9
-страница 10
--страница 11
--страница 12
---страница 13

В любом из случаев можно создать свой модуль, который будет отвечать за формирование карты сайта с постраничной навигацией, и использовать его вместо стандартного.

Зачем все так усложнять?  :)  Свой модуль для разбивки на страницы мне написал знакомый еще для старой зебры. И только что модифицировали для новой.. Карта сайта просто разбивается по заданному количеству ссылок на страницу, внизу страницы выводятся номера страниц карты. Единственное не нравится, что ссылки на страницы выглядят не как sitemap-2.html а как sitemap.html?page=2 , но чел который это написал, пока не знает как это сделать. Посмотрите, может вы сможете.
В модуле sitemap.php сделано следующее изменение:

/**
     * Выводим подпункты меню
     *
     * @param zpageinfo $items
     * @param int $level
     */
    protected function displayItems ($items, $level,$link_all = 0,$list = 1) {
        if (isset($_GET['page']) && is_numeric($_GET['page']))
{
     $page = $_GET['page'];
     }
     else
     {
$page = 1;
}
$count_links_on_page = 100;
$link['all'] = $link_all;

        foreach ($items as $item) {
            $suffix = '';
            if ($item->hasSubmenu()) {
                $suffix = 's';
            }
            if ($link['all'] < $count_links_on_page*$page && $link['all']>=($page-1)*$count_links_on_page)
{
echo '<li class="doc' . $suffix . '"><a href="' . $item->link . '">' . $item->name . '</a>';

            
            if (count($item->subpages) > 1) {
                echo ', <small>стр. ';
                $pages = array();
                for ($i = 2, $n = count($item->subpages); $i <= $n; ++$i) {
                 $pages[] = '<a href="' . $item->subpages[$i] . '">' . $i . '</a>';
                }
                echo implode(', ', $pages);
                echo '</small>';
            }
            }
$link['all']++;
            if ($item->hasSubmenu()) {
                echo '<ul class="sitemaplevel' . $level . '">';
                $link = $this->displayItems($item, $level + 1,$link['all'] ,0);

                echo '</ul>';
            }
            echo '</li>';
        }
        if ($list == 1)
{
         $count_page = ceil($link['all']/$count_links_on_page);
         if ($count_page < $link['all']/$count_links_on_page)
{
$count_page++;
         }
         $i=1;
         if ($count_page>=2)
{
         while($i<=$count_page)
{
echo '<a href="sitemap.html?page='.$i.'"> '.$i.' </a>';
         $i++;
         } // while
         }
        }
        return $link;
    }

Попробуйте как работает и возможно немного доведете до ума и захотите включить это в очередное обновление Zebrum  :rolleyes:

#7 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 29.10.2009, 13:04

Просмотр сообщенияhlzon (29.10.2009, 11:59) писал:

а возможно ли разбить страницу с тегами, на несколько страниц
Это можно реализовать, создав свой модуль. Я выложу на форуме пример такого модуля.

Просмотр сообщенияnexer (29.10.2009, 12:20) писал:

Зачем все так усложнять?  :)  Свой модуль для разбивки на страницы мне написал знакомый еще для старой зебры. И только что модифицировали для новой.. Карта сайта просто разбивается по заданному количеству ссылок на страницу, внизу страницы выводятся номера страниц карты. Единственное не нравится, что ссылки на страницы выглядят не как sitemap-2.html а как sitemap.html?page=2 , но чел который это написал, пока не знает как это сделать. Посмотрите, может вы сможете.

Попробуйте как работает и возможно немного доведете до ума и захотите включить это в очередное обновление Zebrum  :rolleyes:
В Zebrum Lite 1.x действительно было нельзя интегрироваться вплодь до синтаксиса постраничной навигации. В Zebrum Lite 2.0 это сделать можно и я выложу на форуме пример модуля карты сайта, с постраничной навигацией согласно предложенному алгоритму разбиения (это первый вариант, описаный мной постом выше).

P.S. В приведенном коде допущена ошибка в генерируемой верстке. На любой странице будет попытка представить все дерево из тэгов UL и LI, при этом если пункт не выводится, то отсутствует открывающий тэг LI, но всегда присутствует закрывающий тэг LI и блок из UL (при наличии дочерних страниц). Т.е. в верстке страницы можно будет встретить следующие куски кода:

<ul class="sitemaplevel2"></li></li></li></ul>


#8 nexer

nexer

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 29.10.2009, 13:41

Просмотр сообщенияsupport (29.10.2009, 13:04) писал:

Это можно реализовать, создав свой модуль. Я выложу на форуме пример такого модуля.


В Zebrum Lite 1.x действительно было нельзя интегрироваться вплодь до синтаксиса постраничной навигации. В Zebrum Lite 2.0 это сделать можно и я выложу на форуме пример модуля карты сайта, с постраничной навигацией согласно предложенному алгоритму разбиения (это первый вариант, описаный мной постом выше).

P.S. В приведенном коде допущена ошибка в генерируемой верстке. На любой странице будет попытка представить все дерево из тэгов UL и LI, при этом если пункт не выводится, то отсутствует открывающий тэг LI, но всегда присутствует закрывающий тэг LI и блок из UL (при наличии дочерних страниц). Т.е. в верстке страницы можно будет встретить следующие куски кода:

<ul class="sitemaplevel2"></li></li></li></ul>

Большое спасибо! Жду с нетерпением Ваш пример модуля  :)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей