TabControll nahrazení Environment::getSession
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- m4rty
- Člen | 40
Zdravím,
potřeboval bych poradit. Snažím se rozchodit Tabcontroll a nevím přesně jak optimalizovat některé fnce pro Nette 2.0
<?php
function saveTabsOrder(array $order) {
$session = Environment::getSession("TabControl\\".$this->getUniqueId());
$session["order"] = $order;
}
function loadTabsOrder() {
$session = Environment::getSession("TabControl\\".$this->getUniqueId());
return (array)$session["order"];
}
?>
- Jan Endel
- Člen | 1016
Aha, ty to používáš v komponentě, v tom případě předávat sessionSection v konstruktoru:
use \Nette\Http\Session;
public class MyTabControl extends TabControl
{
/**@var \Nette\Http\Session */
private $session;
public function __construct($parent, $name, Session $session)
{
parent::__construct($parent, $name);
$this->session = $session;
}
function saveTabsOrder(array $order) {
$session = $this->session->getSection("TabControl\\".$this->getUniqueId());
$session["order"] = $order;
}
function loadTabsOrder() {
$session = $this->session->getSection("TabControl\\".$this->getUniqueId());
return (array)$session["order"];
}
}
Asi nějak takhle bych to napsal.
- Filip Procházka
- Moderator | 4668
Šahat z komponenty na context presenteru je docela hrubým porušením zapouzdření.
- Filip Procházka
- Moderator | 4668
@**MartyIX**: Částečně máš pravdu, ale stejně s tebou nesouhlasím https://en.wikipedia.org/…w_of_Demeter