Vlastní Configurator a přídání parametru s hodnotou z contextu

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

Ahoj.

Toto téma trochu navazuje na téma: Nekonzistentí výstup $basePath (Presenter vs. template)

Nyní používám v BasePresenter, ale občas mi to překáží:

protected function startup()
{
	parent::startup();

	$this->context->parameters["basePath"] = rtrim($this->getHttpRequest()->getUrl()->getBasePath(), "/");

Nedá se to nějak přesunout do configuratoru (případně config.neon)?

Tabetha
Člen | 140
+
0
-

Toto ti bude fungovať …či je to najlepší spôsob neviem ale funguje …

$container->parameters["basePath"] = rtrim($container->httpRequest->getUrl()->getBasePath(),"/");
drahos
Člen | 18
+
0
-

V konfiguračním souboru by měl být %wwwDir%. Nemusí se tam už přidávat basePath.

MartinitCZ
Člen | 580
+
0
-

@**Tabetha**: Ale kam s tim?
@**drahos**: basePath nemá s %wwwDir% vůbec nic společého!

Tabetha
Člen | 140
+
0
-

Tak tu je výsek z bootstrap.php … napr. nejako tak to tam môžeš dať …

// ...
$container = $configurator->createContainer();
$session = $container->session;
$session = $container->session->start();
if ($container->session->exists())
     {
     $session = $container->session->start();
     }

$container->parameters["basePath"] = rtrim($container->httpRequest->getUrl()->getBasePath(),"/");

// Setup router
$container->router[] = new Route('index.php', 'Eshop:Homepage:default', Route::ONE_WAY);

// Configure and run the application!
$container->application->run();