Smerovanie stranok v novej verzii

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

Caute … poradte mi ako mam nastavit smerovanie, aby ked zadam „…/www/asd“ a nastavim mu presenter a action ma hodilo na spravne miesto … skusal som tieto verzie a neslo mi to
..... a pracujem s najnovsou verziou Nette

$container = $configurator->createContainer();

$container->router[] = new Route('asd', 'Homepage:default');
$container->router[] = new Route('asd', array(
        'presenter' => 'Homepage',
        'action' => 'default',
));

$container->application->run();
Nox
Člen | 378
+
0
-

A co to tedy s tímto nastavením dělá? Nějaká exception?

Takeshi
Člen | 596
+
0
-

Jednoducho si pyta AsdPresenter.php
… mozem poslat aj moj projekt aby sa lahsie hladala chyba

Editoval Takeshi (22. 3. 2012 18:30)

nanuqcz
Člen | 822
+
0
-

Mělo by stačit, když sem dáš celý obsah bootstrap.php.

Takeshi
Člen | 596
+
0
-
<?php

/**
 * My Application bootstrap file.
 */
use Nette\Application\Routers\Route;


// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';


// Configure application
$configurator = new Nette\Config\Configurator;

// Enable Nette Debugger for error visualisation & logging
//$configurator->setProductionMode($configurator::AUTO);
$configurator->enableDebugger(__DIR__ . '/../log');

// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();

// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();

// Setup router
$container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
$container->router[] = new Route('asd', 'Homepage:default');
$container->router[] = new Route('asd', array(
        'presenter' => 'Homepage',
        'action' => 'default',
));

// Configure and run the application!
$container->application->run();
nanuqcz
Člen | 822
+
0
-

Takeshi: Obecné routy se dávají až na konec ;-) Routa <presenter>/<action>[/<id>] převezme iniciativu, ještě než se Nette stihne zeptat routy asd :-) Když je tedy vyměníš, bude to fungovat, jak očekáváš:

// Setup router
$container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$container->router[] = new Route('asd', 'Homepage:default');
$container->router[] = new Route('asd', array(
        'presenter' => 'Homepage',
        'action' => 'default',
));
$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

Takže důležitá věc: Záleží na pořadí rout.

Takeshi
Člen | 596
+
0
-

Dkujem pekne, … clovek sa proste stale uci :-)