Bíla stránka :(

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

ahoj
mam tu mensi problem s bilou strankou :(, mam 2 presentery, cs a admin, kdyz jsem muj web testoval na localu (win i linux) tak mi vse jelo bez jakyhokoliv problemu, ale jak jsem to hodil na web tak mi jede jen cs presenter a admin presenter mi hodi jen bilou stranku, nezobrazi se ani ladenka nic… :( jsem v tomto bezradny a nevim co s tim… poradi prosim nekdo?
predem dekuji za jakoukoliv odpoved :)
fergi

Jod
Člen | 701
+
0
-

Vypni si production environment a nastav $application->catchErrors na false. Potom by ti malo vypisovať chyby.

Fergi
Člen | 14
+
0
-

no prave ze to mam … proto se divim ze ladenka nic nedela… kdyz treba zadam do url presenter kt. neexistuje tak to pekne vsechno vypise ale ted nic… :(

Fergi
Člen | 14
+
0
-

tak tady je url webu, jeste to neni dokonceny, http://airsoft-budisov.mzf.cz/ skuste se prihlasit pod jmenem admin a heslo heslo , mela by vam tam misto prihlasovaciho formulare pak skocit nabidka admin a odhlasit , klepnete na admin a prave tam to haze tu bilou stranku, jinak treba tady http://airsoft-budisov.mzf.cz/abc muzete zkusit ze ladenka opravdu funguje ;)

PetrP
Člen | 587
+
0
-

bez zdrojovich kódu ti neporadímě. doporučuju ti si zmíninálizovat kód na úplnou kostru kdy se ti jeste žebrazuje chyba, a bud ji odhališ sam nebo to sem hod a mi se budem mit aspon od čeho odrazit (to ze mas 2 presentery a druhej ti nejde je dost málo informací)

Fergi
Člen | 14
+
0
-

dobra tak tedy vam sem hodim

<?php
require_once dirname(__FILE__) . '/BasePresenter.php';


class AdminPresenter extends BasePresenter
{
    //NAČTENÍ
    protected function Startup()
    {
       $this->setLayout('adminlayout');
       $user = Environment::getUser();
       if(!$user->IsAuthenticated())
       {
          if($user->getSignOutReason() === User::INACTIVITY)
          {
              $this->flashMessage('<div id="notice">Byl jste odhlášen z důvodů neaktivity</div>');
          }
         $this->redirect('Cs:default');
       }

       $this->template->uzivatel = $user->getIdentity()->nick;
       $this->template->prava = $user->getIdentity()->prava;
       if($this->template->prava < 1)
       {
          $this->redirect('Cs:default');
       }
       parent::startup();
    }

    //DEFAULT
    public function renderDefault()
    {
        $this->template->title = "Hlavní strana";
        $nacticlanek = dibi::query('SELECT * FROM clanky ORDER BY id DESC');
        $this->template->clanky = $nacticlanek->fetchAll();
    }
?>

toto je jak sami vidite jen renderovani defaultni stranky a startup
a jeste bych mohl bootstrap

<?php



// Step 1: Load Nette Framework
// this allows load Nette Framework classes automatically so that
// you don't have to litter your code with 'require' statements
// require LIBS_DIR . '/Nette/loader.php';
require LIBS_DIR . '/Nette/loader.php';
require LIBS_DIR . '/dibi/dibi.php';



// Step 2: Configure environment
// 2a) enable Nette\Debug for better exception and error visualisation


Debug::enable(Debug::DEVELOPMENT);


// 2c) check if directory /app/temp is writable
if (@file_put_contents(Environment::expand('%tempDir%/_check'), '') === FALSE) {
	throw new Exception("Make directory '" . Environment::getVariable('tempDir') . "' writable!");
}

// 2d) enable RobotLoader - this allows load all classes automatically
$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->register();



// Step 3: Configure application
// 3a) get and setup a front controller
Environment::loadConfig();
dibi::connect(Environment::getConfig('database'));
$application = Environment::getApplication();
$application->catchExceptions = FALSE;

// Step 4: Setup application router
$router = $application->getRouter();

// mod_rewrite detection
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
	$router[] = new Route('index.php', array(
		'presenter' => 'Cs',
		'action' => 'default',
        'id' => NULL,
	), Route::ONE_WAY);

	$router[] = new Route('<presenter>/<action>/<id [^/]+>/', array(
		'presenter' => 'Cs',
		'action' => 'default',
		'id' => NULL,
	));

} else {
	$router[] = new SimpleRouter('Cs:default');
}



// Step 5: Run the application!
$application->run();
?>

config.ini

[common]
set.date-timezone = "Europe/Prague";

[production < common]
database.driver = mysql
database.host = server
database.username = username
database.password = heslo
database.database = db
database.charset = utf8

service.Nette-Security-IAuthenticator = Users

[development < production]

Editoval Fergi (12. 7. 2009 22:05)

Ondřej Mirtes
Člen | 1536
+
0
-

Tak co na první pohled vidím, že je špatně, je název metody startup – má být s malým s na začátku. Dále metoda usera isAuthenticated má malé i na začátku. Jestli to pomůže, nevím.

BTW: Tvému kódu by se dalo vytknout několik věcí, ale to by chtělo asi po PM/IM :)

Editoval LastHunter (12. 7. 2009 21:30)

Ondřej Brejla
Člen | 746
+
0
-

Ty velikosti písmen by imho neměly mít vliv…metody jsou snad case insensitive.

Fergi
Člen | 14
+
0
-

tak , i kdyz sem s tim opravdu nic nedelal tak se nam ladenka rozpovidala a rekla mi No route for HTTP request.

BTW: Tvému kódu by se dalo vytknout několik věcí, ale to by chtělo asi po PM/IM :)

jestli bys mel cas :) , nebo napis sem prosim , chci aby muj kod byl lepsi :)
edit: tak ted uz zas nic nerika… otevrel sem jiny prohlizec a nic… :( je to nejaky zacarovany

Editoval Fergi (12. 7. 2009 22:43)

Fergi
Člen | 14
+
0
-

takze nevim jak je to mozny administrace se mi zobrazi az po nekolikanasobnem aktualizovani stranky … a pak po odhlaseni a prihlaseni musim to samy udelat…
Nevi prosim vas nekdo cim to muze byt???

Ondřej Mirtes
Člen | 1536
+
0
-

Fergi napsal(a):

BTW: Tvému kódu by se dalo vytknout několik věcí, ale to by chtělo asi po PM/IM :)

jestli bys mel cas :) , nebo napis sem prosim , chci aby muj kod byl lepsi :)

V bodech:

  • U flash messages bys neměl v presenteru rvát do parametru tý metody HTML, to je nečisté, o zobrazení se má starat šablona. Takže do metody čistý text a v šabloně to řešit nějak takto:
{if isset($flashes[0])}
  <ul id="flashes">
  {foreach $flashes as $msg}
   <li class="{$msg->type}">{$msg->message}</li>
  {/foreach}
  </ul>
{/if}
Fergi
Člen | 14
+
0
-

uf toho je :D , hned zitra se na to mrknu :) diky moc