Visual paginator nepřijme číslo stránky?
- ondrique
- Člen | 16
Ahoj,
visual paginator tvořím pomocí továrničky.
Doma na lokále (php 5.2.10) i na pipni.cz (php 5.2.12) vše šlape jak má, nicméně po uploadu na active24 (php 5.2.12) mi prostě komponenta stojí pořád na stránce jedna. Router si všechny parametry přelouská, ale komponenta stojí pořád na straně 1.
úryvek při dumpu funční komponenty:
<?php
object(VisualPaginator) (10) {
"paginator" private => object(Paginator) (4) {
"base" private => int(1)
"itemsPerPage" private => int(1)
"page" private => int(2)
"itemCount" private => int(0)
}
"page" => int(2)
"template" private => NULL
"invalidSnippets" private => array(0)
"params" protected => array(1) {
"page" => int(2)
}
?>
a nefunkční z active 24:
<?php
object(VisualPaginator) (10) {
"paginator" private => object(Paginator) (4) {
"base" private => int(1)
"itemsPerPage" private => int(1)
"page" private => int(1)
"itemCount" private => int(0)
}
"page" => int(1)
"template" private => NULL
"invalidSnippets" private => array(0)
"params" protected => array(1) {
"page" => string(1) "2"
}
?>
page v params je tu jako string a její hodnota se už nikam nepromítne.
Nenapadne Vás, kde by mohl být problém? Díky!!
Používaná verze Nette (projekt trošku staršího data): 1.0-dev released on 2010–05–11
- basovnik
- Člen | 23
Ahoj, řeším tento problém do teď! Opravdu jsem už bezradný. Na
localhost mi paginator bez problémů funguje, ale na hostingu active24 je to
jak na houpačce – chvíli jo, ale většinou ne. Parametr
vp-page
mi to přitom generuje správně. Prostě to jen pořád
zůstává na stránce jedna.
Pro vp-page=2
je objekt následující (přes
print_r()
):
Nette\Paginator Object
(
[base:Nette\Paginator:private] => 1
[itemsPerPage:Nette\Paginator:private] => 5
[page:Nette\Paginator:private] => 1
[itemCount:Nette\Paginator:private] => 23
)
Občas to ale jde. Zajimavé je, že většinou, když to náhodou jde a vymažu obsah adresáře tmp, tak to zase přestane jít. Kde by mohl být problém? Prosím pomozte! Jinak budu nucen si to nějak naprogramovat ručně celé znova… Opakuji, že na localhostu mi to jde bez problémů!
- basovnik
- Člen | 23
Michalek: Nevím kloudně, co to DummyStorage je,
ale pokud se to musí extra nastavovat viz zde,
tak jsem nic takového nenastavoval. Ty jsi teda řešil stejný problém?
A jak jsi to vyřešil? Jsem v nette začátečník, a vysvětlení
{cache $id .'#'. $page}
mi bohužel nic moc neříká…
EDIT:
Teď to zase nešlo, ani po smazání složky
www/application/temp
, ale když jsem smazal obsah složky
tmp
, tak mi to zase začalo jít. Obsahem složky tmp
byly soubory sess_[hash]
. Na active24 je totiž zvláštní
souborová struktura:
/home
/logs
/tmp
/www
/www/index.php
/www/css
/www/application/
/www/application/apps
/www/application/libs
atd...
v bootstrapu mam navíc:
<?php
$session = Environment::getSession();
$session->setSavePath(SESSIONS_DIR);
$session->setExpiration("+ 31 days"); // doba musí být minimálně taková, jako nastavená expirace.
?>
a
index.php mám takhle:
<?php
// the identification of this site
define('SITE', '');
// absolute filesystem path to the web root
define('WWW_DIR', __DIR__);
if($_SERVER["SERVER_ADDR"] == "127.0.0.1")
{
define('APP_DIR', WWW_DIR . '/../app');
define('LIBS_DIR', WWW_DIR . '/../libs');
define('TEMP_DIR', WWW_DIR . '/../temp');
define('SESSIONS_DIR', WWW_DIR . '/../sessions');
}
else
{
define('APP_DIR', WWW_DIR . '/application/app');
define('LIBS_DIR', WWW_DIR . '/application/libs');
define('TEMP_DIR', WWW_DIR . '/application/temp');
define('SESSIONS_DIR', WWW_DIR . '/../tmp');
}
require APP_DIR . '/bootstrap.php';
?>
Může být někde chyba v tomhle? Možná s tím souvisí i problém, že mi nejde nastavit trvalé přihlášení na webu, a to jsem to dělal přesně podle návodu také.
EDIT 2:
A už to zase nejde. I když vymažu sessions i cache… :( Poradte!
EDIT 3:
A už to zase jede a to jsem s tím nic nedělal. Už se tomu musím
smát.. :D
Editoval basovnik (21. 7. 2011 16:20)