本文整理匯總了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;
}