Volani n:href makra z komponenty

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

Ahoj,
Mám vytvořenou komponentu pro menu

use \Nette\Application\UI\Control;
use \Nette\Security\User;


class Menu extends Control
{

    /** @var \Nette\Security\User */
    private $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }

    public function render()
    {
        $this->template->setFile(__DIR__ . '/../templates/components/MenuControl.latte');
        $this->template->render();
    }
}

v presenteru mám pak

protected function createComponentMenu()
  {

      $menu = new Menu($this->user);
      return $menu;

  }

potřebuji pak v latte šabloně zavolat vytvoření linku pro KontaktPresenter

<a n:href="Kontakt:">Kontakt</a>

Když to ale udělám vyskočí na mě hláška
Nette\InvalidArgumentException

Component with name ‚Kontakt‘ does not exist

je mě jasné, že je potřeba asi nějak předat nějakou závislost, ale tak nějak nevím jakou a jak

Šaman
Člen | 2666
+
0
-

Použij href={plink Konktakt:}. Plink odkazuje na presenter, link na komponentu.


Bohužel, v dokumentaci se o tom nepíše, asi i proto, že odkazování se popisuje v kapitole odkazování v presenteru a v presenteru skutečně funguje {link}. Můžete tam někdo přidat upozornění, že v komponentách se bude n:href odkazovat na jinou komponentu, protože tento zápis odpovídá tvaru href={plink Konktakt:}, pls?

Editoval Šaman (23. 5. 2014 11:17)