Uložení a získání proměnné vytvořené při příchodu na stránku

Dark0ne
Člen | 47
+
0
-

Zdravím,

potřebuji v presenteru vytvořit hned při příchodu na stránku záznam času. Následně můžu na dané stránce být třeba 5 minut, nicméně čas příchodu musí zůstat neměnný a měl by jít zpracovat a uložit do databáze.

Vím, jaký je životní cyklus presenteru, nicméně se mi tahle banalita furt nedaří a v metodě pro zpracování formuláře se mi vždy vrátí až čas při zpracování, nikoliv ten vytvořený hned při příchodu.

private $start_time;


public function startup()
{
    parent::startup();
    $this->setStartTime(); //ulozeni casu pri prichodu

    }

public function setStartTime(){
   $this->start_time= new \Nette\Utils\DateTime();


}

public function getStartTime(){
    return $this->start_time;


}

public function RunExecution(Form $form, $values)
{

    $values['start_time']= $this->getStartTime(); //ziskani ulozeneho casu prichodu
    $this->executionModel->addExecution($values);
    $this->flashMessage('Záznam k execution je v DB.');


}

Zřejmě mi zde uniká nějaký důležitý fakt.

Předem díky za rady.

David Matějka
Moderator | 6445
+
0
-

tohle je chovani php (a http), ty to ulozis do clenske promenne tridy, ta se ale po zpracovani requestu zahodi a pak dojde k provedeni noveho requestu, kde nastavis aktualni cas.

uloz si ten cas do session nebo (v tomhle pripade je to vhodnejsi) do hidden pole formulare

Dark0ne
Člen | 47
+
0
-

Super, už mi to funguje. Hodil jsem to v startup() do SESSION a v hidden to vytahnul.

Mám ještě jeden dotaz na práci s proměnnou.

Ve view používám http://flipclockjs.com/, takže v template mám javascript, který generuje do HTML.

Potřeboval bych dostat z

<script>
clock.getTime();
</script>

hodnotu, kterou předám presenteru.

Jakým způsobem toto můžu udělat?

Díky moc.

David Matějka
Moderator | 6445
+
0
-
  • kdyz to davas do hidden inputu, tak to neni potreba davat do session. jen teda mej na mysli, ze ta hodnota bude soucasti uzivatelskych dat, ktera muze clovek pozmenit.
  • z js to muzes nahrat do (dalsiho) hidden fieldu