Инструменты пользователя

Инструменты сайта


dev:php:yii:ukazanie.nomera.pervoj.stranicy.v.ssylke

Указание номера первой страницы в ссылке

Версия Yii 1.0.0/1.0.1.

По-умолчанию, класс CPagination формирует ссылку на первую страницу без указания переменной номера страницы, в связи с чем, например, невозможно определить перешёл ли на первую страницу пользователь, или она просто открылась при переходе на страницу. Решений два - либо переопределять функцию createPageUrl() в потомке класса CPagination (Yii 1.0.1):

class CMyPagination extends CPagination
{
   public function createPageUrl( $controller, $page )
   {
      $params=($this->route==='')?$_GET:array();
      $params[$this->pageVar]=$page+1;
      return $controller->createUrl($this->route,$params);
   }
}

, либо изменить сам этот класс (Yii 1.0.0):

--- framework/web/CPagination.php.orig    2009-01-02 20:53:10.000000000 +0300
+++ framework/web/CPagination.php    2009-01-02 20:53:29.000000000 +0300
@@ -125,10 +125,7 @@
     public function createPageUrl($controller,$page)
     {
         $params=($this->route==='')?$_GET:array();
-        if($page>0) // page 0 is the default
-            $params[$this->pageVar]=$page+1;
-        else
-            unset($params[$this->pageVar]);
+        $params[$this->pageVar]=$page+1;
         return $controller->createUrl($this->route,$params);
     }
 }

Дискуссия

Enter your comment
 
dev/php/yii/ukazanie.nomera.pervoj.stranicy.v.ssylke.txt · Последние изменения: 16.11.2009 20:26 (внешнее изменение)

Инструменты страницы