php rel next prev bx paging_params
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php rel next prev bx paging_params相关的知识,希望对你有一定的参考价值。
<?
/*
* Проверяем есть ли страница с таким номером и, при необходимости, устанавливаем 404
* добавляем теги rel="next" и rel="prev"
*
* !!!
* Подключать внутри component_epilog.php
*/
$pagen = intval($arResult['NAV_RESULT']->NavNum);
$navNum = intval($arResult['NAV_RESULT']->NavPageNomer);
$navCount = intval($arResult['NAV_RESULT']->NavPageCount);
$pagenGet = false;
foreach ($_GET as $key => $value) {
if (preg_match('/PAGEN_(\d+)/', $key, $matches)) {
$pagenGet = $matches[1];
}
}
// 404 для несуществующих страниц пагинации
$navNumGet = $_GET['PAGEN_'.$pagen];
if ($navNumGet > $navCount || ($pagenGet && $pagen != $pagenGet)) {
@define("ERROR_404","Y");
}
// существующая страница пагинации
else {
// canonical
if ($navNum > 1) {
$APPLICATION->AddHeadString('<link rel="canonical" href="http://www.aqua-stroi.ru'.$APPLICATION->GetCurPage().'">');
}
// rel - предыдущая страница
$prevPage = false;
if ($navNum > 2) {
$prevPage = $APPLICATION->GetCurPageParam(
'PAGEN_'.$pagen.'='.($navNum-1),
array('PAGEN_'.$pagen, 'clear_cache', 'ELEMENT_ID', 'PROPERTY')
);
} else if ($navNum == 2) {
$prevPage = $APPLICATION->GetCurPageParam(
'',
array('PAGEN_'.$pagen, 'clear_cache', 'ELEMENT_ID', 'PROPERTY')
);
}
if ($prevPage) {
$APPLICATION->AddHeadString('<link rel="prev" href="'.$prevPage.'">');
}
// rel - следующая страница
$nextPage = false;
if ($navNum < $navCount) {
$nextPage = $APPLICATION->GetCurPageParam(
'PAGEN_'.$pagen.'='.($navNum+1),
array('PAGEN_'.$pagen, 'clear_cache', 'ELEMENT_ID', 'PROPERTY')
);
}
if ($nextPage) {
$APPLICATION->AddHeadString('<link rel="next" href="'.$nextPage.'">');
}
}
以上是关于php rel next prev bx paging_params的主要内容,如果未能解决你的问题,请参考以下文章
使用左右箭头导航到 rel=next 和 rel=prev 页面
Symfony2.3分页如何实现rel=prev和rel=next?
Google rel="next/prev" 用于动态分页?
php Prev Next发布了ultramix
php facetwp禁用yoast next / prev链接
php 在wordpress函数中添加一个类,用于自定义和创建博客PREV和NEXT链接