1: <?php
2: /**
3: * Project sberp
4: *
5: * @file BasePresenters
6: * @author Jaromír Polášek
7: * @version 0.7.1.FORM
8: * Encoding UTF-8
9: */
10: namespace App\Presenters;
11:
12: use Nette\Application\UI\Presenter,
13: App\Lib\Statics\Vars;
14:
15: /**
16: * Základní presenter
17: */
18: class BasePresenter extends Presenter {
19:
20: /** @persistent */
21: public $backlink = '';
22:
23: /** @persistent @var integer $source */
24: public $source;
25:
26: /** @var integer $id */
27: public $id;
28:
29: /** @var string model_presenter (struktura názvů v databázi) */
30: protected $name;
31:
32: /** @var App/lib/Table or App/lib/tree data*/
33: protected $data;
34:
35: /** @var \App\Lib\Base základní struktura*/
36: protected $base;
37:
38: /** @var string Absolutní cesta do složky app * */
39: private $path;
40:
41: /**
42: * Získá cestu do složky app
43: */
44: public function __construct() {
45: parent::__construct();
46: $this->path = Vars::appPath();
47: }
48:
49: /**
50: * Rozšíření metody formatLayoutTemplateFiles() z předka Presenter
51: * Pokud není nalezena layout ve strandartních uloženích nette,
52: * použije se výchozí (pouze *.latte)
53: * @return array
54: */
55: public function formatLayoutTemplateFiles() {
56: $layoutFiles = parent::formatLayoutTemplateFiles();
57: $layoutFiles[] = "$this->path/templates/@layout.latte";
58: return $layoutFiles;
59: }
60:
61: /**
62: * Rozšíření metody formatLayoutTemplateFiles() z předka Presenter
63: * Pokud není nalezena šablona ve strandartních uloženích nette,
64: * použije se výchozí stejného jména (pouze *.latte)
65: * @return array
66: */
67: public function formatTemplateFiles() {
68: $templateFiles = parent::formatTemplateFiles();
69: $templateFiles[] = "$this->path/templates/$this->view.latte";
70: return $templateFiles;
71: }
72:
73: /**
74: * Přesměruje akci na výchozí zobrazení
75: */
76: protected function redirectDefault() {
77: $this->redirect('default', $this->source);
78: }
79:
80: }
81: