context nepristupny presenterum v modulu

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

Ahoj, nevim si rady s tim, ze se nedostanu ke contextu z presenteru ve vnorenem modulu:

struktura:

-  app
   - AdminModule
  	-  presenters
    	    -   UsersPresenter, jine presentery...
        -  CmsModule
            -   presenters
                -   BlogPresenter atd...
   - models
       - Model, Cms

muj problem: v AdminModule mi DI kontejner v presenterech funguje:

$this->context->model->getUsers()

ale o uroven vys v CmsModule uz ne.

$blogs = $this->context->cms->getBlog();
var_dump($blogs);

zadny error, var_dump nevraci ani NULL. Proste nic.
Z config.neon:

services:
		database: @Nette\Database\Connection
		authorizator:
			class: AclProj\Acl

		authenticator:
			class: AclProj\Authenticator
			arguments: [@database]

		model:
			class: Model
			arguments: [@database]

		cms:
			class: Cms
			arguments: [@database]

A tridy Model a Cms mam ve stejne slozce – models.

Muzete mi poradit co s tim?
Diky!

vvoody
Člen | 910
+
0
-

Mas zadefinovany konstruktor? Volas v nom konstruktor rodica?

bo
Člen | 16
+
0
-

Mam. Tim to asi neni..

/**
 * Model base class.
 */
class Cms extends Nette\Object
{
	/** @var Nette\Database\Connection */
	public $database;



	public function __construct(Nette\Database\Connection $database)
	{
		parent::__construct();
		$this->database = $database;
	}
nanuqcz
Člen | 822
+
0
-

zadny error, var_dump nevraci ani NULL. Proste nic.

A seš si jistý, že máš spuštěný tenhle presenter, ve kterém je var_dump? Funkce var_dump() prostě musí něco vypsat.

vvoody
Člen | 910
+
0
-

@bo: zabudol som upresnit, myslel som konstruktor v presenteri

bo
Člen | 16
+
0
-

:D Ten problem musel byt zpusobeny predanim spatne pojmenovane promenne.. nerozbilo se mi to jenom proto, ze v sablone mam {ifset}, takze se proste nic nevykreslilo. holt slepe kopirovat sablony a presentery se nemusi nekdy vyplatit :)

A co se tyce toho konstruktoru modelu Cms. volani parent::__construct(); jsem pridal az potom, co jsi mi to napsal @vvoody, ale Nette se to nelibilo. Fatal Error, cannot call constructor. Do te doby to bezelo v pohode, tak jsem to volani zase smazal.

Dik, dobrou!

bo
Člen | 16
+
0
-

@vvoody konstruktor v presenteru? Myslel jsem, ze tam se pouziva startup(). V logu nejake diskuze na jabberu jsem to cetl. Ale zatim netusim proc.

vvoody
Člen | 910
+
0
-

@bo: potom v poriadku, pytam sa len preto, lebo cez konstruktor sa context predava.