Yii Framework Forum: [Urlmanager] Url Zawiera ?undefined= - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Urlmanager] Url Zawiera ?undefined= Rate Topic: -----

#1 User is offline   Arystosedes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 13
  • Joined: 22-October 13

Posted 23 October 2013 - 03:19 PM

Mam taki problem. Jest sobie paginacja na stronie. Po użyciu urlmanagera:

'/page/<page:\d+>'=>'/site/index',

i po kliknięciu w jakąś stronę z paginacji, w url'u mam taki adres: /page/2?undefined=

Jak się tego pozbyć? Bez "przyjaznych linków" adres wygląda tak: /index.php?r=site/index&page=2

htaccess zawiera:

Options +FollowSymLinks
IndexIgnore */*
<IfModule mod_rewrite.c>
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php
</IfModule>
0

#2 User is offline   nineinchnick 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 622
  • Joined: 12-September 11
  • Location:Bialystok, Poland

Posted 23 October 2013 - 05:18 PM

Jeśli gdzieś pojawia się słowo kluczowe 'undefined' to zwykle w wyniku błędów w JavaScript. Używasz stronicowania z widgetów Yii, które mają trochę kodu JavaScript. Wklej konfigurację tychże widgetów i dataProvidera, który je zasila.
Don't be a dick.
0

#3 User is offline   Arystosedes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 13
  • Joined: 22-October 13

Posted 24 October 2013 - 01:23 AM

Widget wygląda tak:

<?php
$this->widget('zii.widgets.CListView', array(
'dataProvider' => $model->search(),
'itemView'=>'_view',
'enableHistory' => TRUE,
'id' => 'ajaxListView',
'sortableAttributes'=>array('id_category','create_time','url'),
));
?>

Używam przy nim filtrowania ajaxowego, ale wydawało mi się, że nie ma to się nic do paginacji:

if(isset($_GET['ajax']) && $_GET['ajax']=='ajaxListView') {
$this->renderPartial('index',array(
'model'=>$model,
));

} else {
$this->render('index',array(
'model'=>$model,
));

}

I zauważyłem, że jak zmienię cały powyższy kod na:

$this->render('index',array(
'model'=>$model,
));

Błąd się nie pojawia (jest wtedy /page/2), więc chyba faktycznie coś z js

Provider wygląda tak:

return new CActiveDataProvider(get_class($this), array(
'criteria' => $criteria,

));

Dodatkowo z innej beczki, jak w urlmanagerze ustawić taki adres:

/?TblProject[id_shop]=1&TblProject[id_category]=1

na

/shop/1/category/1/

i /?TblProject_sort=id_category.desc -> /sort/category/desc (tu może być też .asc na /asc)

- takie adresy mam po wykorzystaniu enableHistory a nie wiem jak zapisać te tablice z url
0

#4 User is offline   Arystosedes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 13
  • Joined: 22-October 13

Posted 25 October 2013 - 03:42 AM

ok z tym undefined sobie poradziłem, był bug w yii przy korzystaniu z enableHistory dla CListView, https://github.com/y...pull/2079/files
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users