AdminModule – nefunkční odkaz

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Phalanx
Člen | 310
+
0
-

Ahoj, už několik hodin teču nad touto chybou:
Cannot load presenter ‚Admin:Homepage‘, class ‚Admin_HomepagePresenter‘ was not found in ‚C:\xampp\htdocs\test\www/../app/AdminModule/presenters/HomepagePresenter.php‘.

chci odkaz na domovskou stránku v admin sekci
{plink ‚:Admin:Homepage‘}

HomepagePresenter.php:

namespace AdminModule;
class Admin_HomepagePresenter extends Admin_BasePresenter
{
public function renderDefault()
{
$this->template->message = ‚We hope you enjoy this framework!‘;
 }
}

BasePresenter.php:
namespace AdminModule;
class Admin_BasePresenter extends \BasePresenter
{

}

bootstrap.php by měl být OK, protože mě to přesměrovává do složky co chci. jen to neumí najít správnou třídu. Poradíte?

h4kuna
Backer | 740
+
0
-

Ahoj,

dobře to nemáš :) Předpokládám že nemáš zaplou laděnku Debug::enable(Debug::DEVELOPMENT); v bootstrap.php. Pač ti to pak napovída kde hledá soubor a jakou třídu.

Pokud používáš namespace tak prefix u tříd Admin_ není pač je to danný pomocí namespace.

<?php
namespace AdminModule;

class HomepagePresenter extends BasePresenter {
    public function renderDefault()
    {
        $this->template->message = ‚We hope you enjoy this framework!‘;
    }
}
?>

AdminModule/BasePresenter.php

<?php
namespace AdminModule;
class BasePresenter extends \BasePresenter {
/*....*/
}
?>
Phalanx
Člen | 310
+
0
-

Díky, přepsal jsem to podle tvého návodu. Laděnku jsem zaplou měl (háže mi to ty červené odkazy když je něco špatně). Bohužel vyhazuje pořád stejnou chybu.

Cannot load presenter ‚Admin:Homepage‘, class ‚Admin_HomepagePresenter‘ was not found in ‚C:\xampp\htdocs\test\www/../app/AdminModule/presenters/HomepagePresenter.php‘.

chápu že hledá třídu Admin_HomepagePresenter v HomepagePresenter.php, ale to už přece je:

<?php
namespace AdminModule;

class HomepagePresenter extends BasePresenter {
    public function renderDefault()
    {
        $this->template->message = ‚We hope you enjoy this framework!‘;
    }
}
?>

EDIT:
vykašlal sem se na namespace a napsal to natvrdo class Admin_BasePresenter extends BasePresenter a už to pěkně frčí :)

Editoval Phalanx (26. 1. 2011 21:53)

srigi
Nette Blogger | 558
+
0
-

Nemas nahodou PHP-5.2 verziu Nette prevadzkovanu na PHP-5.3 serveri? Admin_HomepagePresenter je jasny odkaz na PHP-5.2 casy. 5.3kova verzia ti taku triedu nikdy hladat nebude.

Phalanx
Člen | 310
+
0
-

Bohužel máš pravdu. Použil jsem PHP 5.2 verzi Nette kvůli webhostingu, ale na localhostu kde píšu mi běží 5.3. Předělám to do 5.3 a ten ten webhosting pořeším jinak.
Díky moc