делаю все тоже самое что и раньше.. не могу понять почему не получается( может кто увидит у меня ошибку?
у меня создано 11 постов. должно выводить 10 и на 2 странице 1... а выводит 11 и на 2 странице 10 причем со 2 по 11 посты...
вот мой шаблон:
<!-- Переменные для постр навигации -->
<xsl:variable name="doc-postslist" select="document(concat('udata://blogs20/postsList/', /result/@pageId))" />
<xsl:variable name="doc-postslist-numpages" select="document(concat('udata://system/numpages/', $doc-postslist/udata/total, '/', $doc-postslist/udata/per_page, '/notemplate/p/10'))" />
<xsl:template match="result[@module = 'blogs20'][@method = 'blog']">
<xsl:variable name="path" select="//property[@name='fotografiya']/value" />
<h1><xsl:value-of select="//property[@name='h1']/value" /></h1>
<div><xsl:value-of select="//property[@name='familiya']/value"/></div>
<div><xsl:value-of select="//property[@name='imya_otchestvo']/value"/></div>
<div><xsl:value-of select="//property[@name='dolzhnost_zvanie']/value"/></div>
<div><img src="{document(concat('udata://system/makeThumbnailFull/(.', $path, ')/201/140'))//udata/src}" width="201" height="140" alt="" /></div>
<xsl:apply-templates select="document(concat('udata://blogs20/postsList/', /result/@pageId))/udata/items/item" mode="blogs_list"/>
<!-- Постраничная навигация -->
<div class="pagination"><xsl:apply-templates select="$doc-postslist-numpages" mode="paging" /></div>
</xsl:template>
<xsl:template match="item" mode="blogs_list" >
<div><a href="{post_link}"><xsl:value-of select="document(concat('upage://',@id,'.h1'))//value" /></a></div>
<div><xsl:value-of select="document(concat('upage://',@id,'.content'))//value" disable-output-escaping="yes"/></div>
</xsl:template>
если выборка делается через такую строчку
то это первый вариант механизма, а вот если что-то типа
$sel = new selector('pages');
то это уже второй вариант который работает со смещением, тогда особое внимание обратите на строчки типа
$sel->limit($offset, $limit);
первая переменная $offset - это смещение. Если туда просто ставиться значение параметра p, который берется из адресной строки, то тогда это ошибка кода, пишите в umi. Если нет, то пишите сюда, будем дальше копать
такого как вы написали нет... но есть
if($limit) {
$sel->limit($page, $limit);
} else {
$sel->limit($page, $this->comments_per_page);
}
где $page:
$page = (int)getRequest('p');
тогда это ошибка umi? можете им писать что в таком то макрсое неправильно сделан механизм пагинации при использовании select в функции такой-то
Если говорить о текущем решении, то исправте код
if($limit) {
$sel->limit($page, $limit);
} else {
$sel->limit($page, $this->comments_per_page);
}
на
if($limit) {
$ofset = $page*$limit;
$sel->limit($ofset, $limit);
} else {
$ofset = $page*$this->comments_per_page;
$sel->limit($ofset, $this->comments_per_page);
}