HosipLan

Untitled

Apr 14th, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.07 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4.  
  5. /**
  6.  * @author Filip Procházka <[email protected]>
  7.  *
  8.  * @property BasePresenter $presenter
  9.  * @method BasePresenter getPresenter()
  10.  */
  11. class BaseForm extends Nette\Application\UI\Form
  12. {
  13.  
  14.     /**
  15.      * Renders the form
  16.      */
  17.     public function render()
  18.     {
  19.         $args = func_get_args();
  20.         if (!$args && $file = $this->getTemplateDefaultFile()) {
  21.  
  22.             /** @var \Nette\Templating\FileTemplate|\stdClass $template */
  23.             $template = $this->presenter->createFormTemplate();
  24.             $template->setFile($file);
  25.             $template->bootstrap = $template->templatesBaseDir . '/form.latte';
  26.             $template->control = $this->parent;
  27.             $template->form = $this;
  28.             $template->render();
  29.  
  30.         } else {
  31.             call_user_func_array('parent::render', $args);
  32.         }
  33.     }
  34.  
  35.  
  36.  
  37.     /**
  38.      * Derives template path from class name.
  39.      *
  40.      * @return null|string
  41.      */
  42.     protected function getTemplateDefaultFile()
  43.     {
  44.         $refl = $this->getReflection();
  45.         $file = dirname($refl->getFileName()) . '/' . lcFirst($refl->getShortName()) . '.latte';
  46.         return file_exists($file) ? $file : NULL;
  47.     }
  48.  
  49. }
Advertisement
Add Comment
Please, Sign In to add comment