Sapid
Текущее время: Ср сен 08, 2010 4:04 am

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Минимальный уровень вложенности страниц.
СообщениеДобавлено: Пн июн 05, 2006 2:49 pm 
Не в сети
Novice
Novice

Зарегистрирован: Вс апр 16, 2006 11:16 pm
Сообщения: 35
Откуда: СПБ
На сайте необходим минимальный уровень вложенности страниц. Стандартный пакет создает страницы типа www.mysite.ru/bla-bla-bla/подрузомевается index.php. Т.е. страница 2 уровня. Это минимум. На первом этапе нам необходимо избавиться от /bla-bla-bla/подрузомевается index.php. Для этого мы читаем статью Павла (aka Zik) «Подстановка расширения файла в конец URL». Вуаля! Теперь наша страница имеет вид www.mysite.ru/bla-bla-bla.htm Но как теперь сортировать страницы по разделам? Ведь теперь мы не можем использовать переменную раздела структуры(this.this.VAR.value). Мы с Серегой( aka pioneer ) придумали такой вариант:
К названию станицы мы добавляем префикс, это и будет наша переменная раздела структуры(желательно чтобы страницы имели осмысленные названия, это положительно скажется на поисковиках). Т.е. теперь наша страница имеет вид www.mysite.ru/books_bla-bla-bla.htm , соответственно тоже самое мы проделываем со страницами которые относятся к разделу books имеем ряд страниц:
www.mysite.ru/books_bla-bla-bla.htm
www.mysite.ru/books_bla-bla-bla2.htm
www.mysite.ru/books_bla-bla-bla3.htm
Дaлее, в шаблоне вызываем DDC меню:

Код:
<sapi:apply name="ddc.menu.value">
<sapi:param name="prefix">books</sapi:param>
</sapi:apply>


а в самой DDC-шке мы сортируем все страницы по этому самому префиксу:
Код:
<sapi:when exp="strpos(this.this.VAR.value,this.param.prefix.value . '_')===0">
<sapi:when exp="eq(this.this.currentpage.value,1)">
<sapi:code>
<div style="padding-left: &this.this.LEVEL5.value;">›&nbsp;<a class="active" sapi:href="this.this.HREF.value"><sapi:apply name="this.this.TITLE.value" /></a></div>
</sapi:code>
</sapi:when>
<sapi:when exp="neq(this.this.currentpage.value,1)">
<sapi:code>
<div style="padding-left: &this.this.LEVEL5.value;">›&nbsp;<a class="inactive" sapi:href="this.this.HREF.value"><sapi:apply name="this.this.TITLE.value" /></a></div>
</sapi:code>
</sapi:when>
</sapi:when>


Обратите внимание что мы используем обычную строковую функцию PHP strpos (это Серега pioneer придумал). Лично для меня стало открытием, что сапидовский парсер вот так запросто пускает php-шные строковые функции…
Зная этот небольшой нюанс все получилось довольно просто. Инжой.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB