示例#1
0
 /**
  * Renders hidden form fields for referrer information about
  * the current request.
  *
  * @return string Hidden fields with referrer information
  */
 protected function renderHiddenReferrerFields()
 {
     $tagBuilder = new TagBuilder('input');
     $tagBuilder->addAttribute('type', 'hidden');
     $tagBuilder->addAttribute('name', $this->prefixFieldName('__state'));
     $serializedFormState = base64_encode(serialize($this->arguments['object']->getFormState()));
     $tagBuilder->addAttribute('value', $this->hashService->appendHmac($serializedFormState));
     return $tagBuilder->render();
 }
示例#2
0
 /**
  * Renders an option tag
  *
  * @param string $value
  * @param null | string $label
  * @param bool $selected
  * @return string
  */
 private function renderOptionTag($value, $label = null, $selected = false)
 {
     $option = new TagBuilder("option");
     $option->addAttribute('value', $value);
     $option->setContent(!is_null($label) ? $label : $value);
     if ($selected) {
         $option->addAttribute('selected', 'selected');
     }
     return $option->render();
 }
示例#3
0
 public function render()
 {
     $this->tag->addAttribute('action', $this->arguments['action']);
     $hiddenFields = array();
     /** @var FormField $hiddenField */
     foreach ($this->arguments['form']->getHiddenFields() as $hiddenField) {
         $tag = new TagBuilder('input');
         $tag->addAttributes(['type' => 'hidden', 'name' => $hiddenField->getName(), 'value' => $hiddenField->getValueOrDefault()]);
         $hiddenFields[] = $tag->render();
     }
     $content = implode(chr(10), $hiddenFields) . chr(10) . $this->renderChildren();
     $this->tag->setContent($content);
     $output = $this->tag->render();
     return $output;
 }
示例#4
0
 /**
  * @test
  */
 public function tagIsNotRenderedIfTagNameIsEmpty()
 {
     $tagBuilder = new TagBuilder('foo');
     $tagBuilder->setTagName('');
     $this->assertEquals('', $tagBuilder->render());
 }