本文整理汇总了PHP中Zend\Form\ElementInterface::getFields方法的典型用法代码示例。如果您正苦于以下问题:PHP ElementInterface::getFields方法的具体用法?PHP ElementInterface::getFields怎么用?PHP ElementInterface::getFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Form\ElementInterface
的用法示例。
在下文中一共展示了ElementInterface::getFields方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render
/**
* {@inheritDoc}
*/
public function render(ElementInterface $element)
{
if (!$element instanceof LoginFieldElement) {
return '';
}
$fields = $element->getFields();
if (1 == count($fields)) {
$element->setAttribute('placeholder', current($fields));
return parent::render($element);
}
$template = $element->getOption('template') ?: '<div class="input-group">%s</div>';
$pattern = <<<EOT
<input name="%s[0]" %s%s
<span class="input-group-addon">
<select class="pull-right" name="%s[1]">
%s
</select>
</span>
EOT;
$name = $element->getName();
list($value, $field) = $element->getValue();
$attributes = array_replace($element->getAttributes(), array('type' => 'text', 'value' => $value));
if (!isset($attributes['class'])) {
$attributes['class'] = 'form-control';
}
$attribString = $this->createAttributesString($attributes);
$patternField = '<option value="%s"%s>%s</option>' . PHP_EOL;
$fieldString = '';
foreach ($fields as $key => $label) {
$class = $field == $key ? ' selected' : '';
$fieldString .= sprintf($patternField, $key, $class, $label);
}
$html = sprintf($template, sprintf($pattern, $name, $attribString, $this->getInlineClosingBracket(), $name, $fieldString));
return $html;
}