Вход для клиентов и партнеров
в начало сайта
Партнерская программаОнлайн демоСкачатьКарта сайта
 

Регламент
Документация
Часто задаваемые вопросы (FAQ)
Решения типовых вопросов
Форум поддержки
Библиотека разработчика

Посмотрите демо-ролики и убедитесь в том, что "Twilight CMS" очень удобна в управлении, понятна и проста.

Бесплатно скачайте "Twilight.Basic", установите на своем компьютере и изучите систему более детально.

Если вам нужно установить "Twilight CMS" на существующий сайт или разработать новый - обращайтесь в отдел интеграции.

 

Ваше имя
Ваш Email
Вопрос
Twilight.basic
  • Узнайте больше
  • Сравните версии
  • Twilight.selection
  • Узнайте больше
  • Сравните версии
  • Twilight.evolution
  • Узнайте больше
  • Сравните версии
  •  
    Главная // Форум поддержки

    Сборка сайта / Использование различных сервисов / Проблема с навигацией

    есть новые сообщения  Время:   29.11.11 22:03
    runeteye Возникла проблема с постраничной навигацией на блоге dranichnikov.ru.

    Внизу главной страницы есть пагинатор (цифры страниц), каждая цифра - ссылка вида /page3_1, /page3_2 .... /page3_42

    Раньше всё работало идеально, проблем не было. Сейчас адрес страницы почему-то формируется в таком виде /page1_1, /page1_2 ... /page1_42 и на всех этих страницах отображается содержимое главной страницы, т.е. /page3_1. Это ещё полбеды. На каждой странице /page1_1, /page1_2 ... /page1_42 внизу тоже отображается пагинатор, который для каждой страницы уже формирует неверный адрес /page1_1/page3_1, /page1_2/page3_2 ... /page1_42/page3_42 и т.д.

    Ситуация исправляется сбросом кеша, но после 5-6 кликов по номерам страниц и <<, <, >, >> в пагинаторе снова появляется глюк. Как ни старался, заметить закономерности не получилось.

    Из-за этого глюка файл sitemaps.xml разросся до 2000 ссылок вместо ~200. ~1800 - как раз те самые неправильные ссылки.

    Макрос, который всё это выводит:

    $News[source: posts; design: posts; filter: created< $DateTime[format_out: "hh:mm:ss DD.MM.YYYY"]$, state=on; sort: created,desc,auto; condition: $IN_nid$=; items_per_page: 3; nocache: on]$ $News[source: posts; design: postsdetails; filter: state=on, created< $DateTime[format_out: "hh:mm:ss DD.MM.YYYY"]$, id=$IN_nid$; condition: $IN_nid$!=; nocache: on]$

    Пагинатор в дизайне:

    <footer>
    <![CDATA[<div align="center" class="text">$PageNavigator$</div><br><br>]]>
    </footer>

    и такой тоже был

    <footer>
    <![CDATA[<div align="center" class="text">$Text[source: "$PageNavigator$"; condition: $NotEmpty[$PageNavigator$]$]$</div><br><br>]]>
    </footer>

    TWL 5.21 Evo. Помогите с проблемой. Недавно я вам высылал свой проект почтой - возможно там тоже есть ошибка.

    P.S. Может быть всё дело в nocache:on в макросе News? Так как недавно я только его добавлял, больше ничего не трогал.

    есть новые сообщения  Время:   29.11.11 22:25
    Служба поддержки nocache уберите, это отладочная вещь и применять её на боевом сайте нельзя. Первая цифра в page1_2 означает номер пагинатора на странице (их может быть несколько), а вторая - номер страницы. Если у вас поменялась первая цифра, значит у вас изменилось количество макросов с постраничной разбивкой на странице. Если раньше все работало, а сейчас перестало - ищите что вы добавили или что убрали.

    Ссылки вида /page1_42/page3_42 имеют право на жизнь. Эта ссылка, например, обозначает что вы находитесь на 42 странице постраничного вывода макроса номер 1, и т.к. у вас еще есть макрос на данной странице с постраничной разбивкой, то вы можете перейти на 42 страницу макроса номер 3. Если это одинаковые макросы по сути, то вы должны указать в них взаимоисключающие условия, чтобы показывался на странице только один макрос с пагинатором. А если у вас макросы номер 1 и 3 разные, то это вполне легальная конструкция. Проверьте логику вывода справочников.

    есть новые сообщения  Время:   09.12.11 00:13
    runeteye Добавился на страницу ещё один макрос News. Соответственно пагинация сбилась на page4_1, page4_2 и т.д., а нужно чтобы было page3_1 и т.д. Как это сделать? Какое взаимоисключающее условие прописать третьему макросу News, чтобы он не мешал четвёртому, по которому и выводится пагинация?

    Третий выглядит так:

    $List[source: comments; design: commentslist; count: 3; sort: created,desc,auto; filter: state=on]$

    Натолкните на правильную мысль.

    есть новые сообщения  Время:   09.12.11 00:53
    Служба поддержки К сожалению, у нас нет возможности разбираться глубоко в логике работы чужих проектов. Это обычная задача разработчика сайта.
    есть новые сообщения  Время:   09.12.11 03:26
    runeteye Хороший ответ от службы тех. поддержки, я оценил.

    Как мне самому в этом разобраться, если в TSDN нет ни слова про макрос $PageNavigator$ и про какие-то условия касающиеся его для макроса $News$?

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

    есть новые сообщения  Время:   09.12.11 04:13
    Служба поддержки PageNavigator - это не макрос, а макрозамена, про него написано тут: http://www.twl.ru/tsdn/macroses/news. Больше там описывать то и нечего. Как все работает более подробно мы вам уже объяснили выше. Система берет текущий URL и дописывает к нему параметр pageN_M, где N - номер макроса, который генерирует постраничный навигатор, а M - номер страницы. Если вы уже внутри постраничной разбивки, созданной одним макросом, то если на странице будет другой макрос - там будет добавлен еще один параметр. И это логично.

    Система работает в рамках алгоритмов, в неё заложенных. Работает без ошибок, в данном случае. Ваша задача сделать так, чтобы на странице выполнялся только один макрос News в один момент времени, если вам не нужно, чтобы на странице отрабатывались одновременно несколько PageNavigator. Как это сделать - мы понятия не имеем, т.к. не понимаем ничего в логике устройства вашего проекта. И разбираться в ней мы просто не имеем физической возможности. Конструируйте  совокупность макросов так, чтобы выполнялся только один нужный вам макрос. Нарисуйте блок-схему и придумайте такие condition, которые решат вашу задачу. Это обычная алгоритмическая задача.

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

    есть новые сообщения  Время:   28.12.11 14:50
    runeteye С этим я вроде бы разобрался. Но есть ещё пара вопросов по этой макрозамене:

    1. как например на странице page3_27 в заголовке (тег title) прописать номер страницы - 27? Пока на ум пришло только вытаскивание номера страницы из алиаса, но наверное есть способ лучше... Подскажите где почитать и в каком направлении думать.

    2. почему макрозамена pagenavigator формирует адрес "головной" страницы со слэшем / на конце? Т.е. если вы посмотрите на страницу с нумерацией (<< < 1 2 3 4... > >>) и наведёте курсор на значек-ссылку << в списке страниц, то увидите, что ссылка на основную страницу будет со слэшем. Я бы на эту проблемку внимание не обратил, но у меня на сайте sitemap.xml формирует отдельный скрипт и он из-за этой ссылки в карту сайта вставляет уйму дублей (www.site.ru/razdel и www.site.ru/razdel/). Можно ли это как-то исправить?

    Заранее спасибо за ответ.

    есть новые сообщения  Время:   28.12.11 15:27
    Служба поддержки 1. Не из алиаса, а из QueryString, который можете взять макросом Env. Затем почистить его Replace'ом. Либо напишите свой простейший макрос в одну строку.
    2. См. http://www.twl.ru/news, макрозамена не формирует слэш на конце, она сохраняет формат URL добавляя туда одну секцию. Если у вас там был слэш на конце - он сохранится. Мы слэш на конце не используем нигде, если у вас он где-то вылез - ищите проблему в своем коде.

    По поводу sitemap - то, что совершенно разные URL воспринимаются внешним скриптом как одинаковые - проблема скрипта.

    Строго говоря, Sitemap мы вообще в реальной жизни не используем. Поисковики давно достигли такой мощности, что индексируют сайты безо всяких проблем и внешних подсказок. А если сервер медленный, то и sitemap не поможет.


    Ваше имя:

    Email:

    Сообщение:

    Прислать оповещение на email, если мне ответят

     
    © 2003-17 Страта Технологии (создание сайтов, разработка cms), Twilight CMS in english.
    Наш адрес: Москва, пр. Маршала Жукова д.51
    Тел.: (495) 222-6436, E-mail: , карта сайта, условия использования информации о CMS
    Звоните через Skype:  

    Реклама: