Example #1
0
 public function renderForm(array $htmlOptions = []) : string
 {
     if (isset(static::$schema['template'])) {
         $dir = dirname(static::$schema['template']);
         $template = basename(static::$schema['template']);
     } else {
         $reflector = new \ReflectionClass(static::class);
         $filename = $reflector->getFileName();
         $dir = dirname($filename);
         $template = pathinfo(basename($filename), PATHINFO_FILENAME) . '.html';
     }
     $view = new View('Twig');
     $view->addTemplateRawPath($dir);
     return $view->render($template, ['filters' => $this, 'html' => $htmlOptions]);
 }
Example #2
0
 public function renderFormElement(array $htmlOptions = []) : string
 {
     if (isset($this->options['template'])) {
         $dir = dirname($this->options['template']);
         $template = basename($this->options['template']);
     } else {
         $reflector = new \ReflectionClass(static::class);
         $filename = $reflector->getFileName();
         $dir = dirname($filename);
         $template = pathinfo(basename($filename), PATHINFO_FILENAME) . '.html';
     }
     $view = new View('Twig');
     $view->addTemplateRawPath($dir);
     $props = [];
     foreach (array_keys(get_object_vars($this)) as $prop) {
         $props[$prop] = $this->{$prop};
     }
     return $view->render($template, $props + ['html' => $htmlOptions]);
 }