Ну получить просто. Пример из demodizzy
<xsl:param name="p">0</xsl:param>
Здесь p - GET-параметр.
А вот насчет сделать страницы с 1 - мне кажется что задача сводится к переписыванию стандартных макросов или их вызовов с указанием конкретно получаемой страницы.
Ну то есть совершенно не проблема написать в качестве параметра не P а, к примеру, PAGE. И в PAGE делать нумерацию с 1. Но нужно еще заставить все используемые стандартные макросы принимать эту нумерацию и слушаться. По-умолчанию, они принимают P. И тут даже не особая проблема принимать - во многих случаях пагинация существует как параметр вызова макроса. Проблема в том, чтобы заставить их правильно формировать ссылки с новой переменно.
Рекомендую даже не заморачиваться этим вопросом, поскольку практической пользы в этом я лично не вижу.
Эээээ? Это был вопрос из разряда: расскажите мне как сделать условие на XSLT?
<xsl:if test="$p=0">ok</xsl:if>
Это очень интересно и я обязательно присоединюсь к последующим курсам , но мне надо решить этот вопрос 3 дня назад.
Подскажите почему всё-таки не работает условие когда $p не определена - шаблон крэшится? Попытки проверить определена ли $p также "рвут шаблон" :)
<xsl:if test="not($p)">ok</xsl:if>
Попробуйте определить p как
<xsl:param name="p"></xsl:param>
и проверять
<xsl:if test="$p = ''"></xsl:if>
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi">
<!--CТРАНИЦА ОБЪЕКТА КАТАЛОГА-->
<xsl:template match="result[@module='catalog' and @method='object']">
<div class="cont">
<xsl:apply-templates select="document('udata://core/navibar')/udata" mode="navibar"/>
<xsl:choose>
<xsl:when test="//property[@name='seostranica']/value = '1'">
<xsl:variable name="cat_seacrh" select="document(concat('udata://catalog/setPageFilter/', @pageId,'/', page/@type-id))"/>
<div class="products" style="padding-bottom: 3%; padding-top:0px;">
<div class="block_title"><xsl:value-of select="$pid_page//group[@name='common']/property[@name='h1']/value"/></div>
<div class="filter checkout" style="width:30%; float:left; border: 3px solid #00bbd3; padding-bottom: 34px;">
<xsl:apply-templates select="document(concat('udata://catalog/search/', $cat_root, '///86'))/udata" mode="search_filter" />
</div>
<div class="items" style="width:68%; float:right">
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsListCustom/', $cat_root,'/12/0/5'))/udata" mode="catalog_page_filter"/>
<!-- <xsl:apply-templates select="document(concat('udata://catalog/getObjectsListCustom/', $cat_root,'/', $cat_sort, '/0/5'))/udata" mode="catalog_page_filter"/> -->
<div class="clear"></div>
</div>
<div style="clear:both; width:100%"></div>
</div>
<!--
ЗДЕСЬ НУжНО ПРОВЕРИТЬ ЕСЛИ $_GET['p'] (она же $p) НЕ определена, то вывести этот блок:
======= НАЧАЛО БЛОКА =========
-->
<xsl:if test="//property[@name='opisanie']/value">
<div class="bottom_text">
<div class="cont">
<xsl:value-of select="//property[@name='opisanie']/value" disable-output-escaping="yes"/>
</div>
</div>
</xsl:if>
<!--
======= КОНЕЦ БЛОКА =========
-->
</xsl:when>
<xsl:otherwise>
и тут ещё много всего....
Хм. А как по этому фрагменту сказать в чем у вас ошибка? Вы ведь даже не показали ни одной конструкции, которую используете
В продолжение телепатического сеанса связи: воспользуйтесь конструкцией
<xsl:param name="p" select="'0'" />
Тогда проверку можно делать, например, так:
<xsl:choose>
<xsl:when test="$p = '0'">не определена</xsl:when>
<xsl:otherwise>определена</xsl:otherwise>
</xsl:choose>