protected function _inputType($fieldName, $options)
{
$context = $this->_getContext();
if ($context->isPrimaryKey($fieldName)) {
return 'hidden';
}
if (substr($fieldName, -3) === '_id') {
return 'select';
}
$internalType = $context->type($fieldName);
$map = $this->_config['typeMap'];
$type = isset($map[$internalType]) ? $map[$internalType] : 'text';
$fieldName = array_slice(explode('.', $fieldName), -1)[0];
switch (true) {
case isset($options['checked']):
return 'checkbox';
case isset($options['options']):
return 'select';
case in_array($fieldName, ['passwd', 'password']):
return 'password';
case in_array($fieldName, ['tel', 'telephone', 'phone']):
return 'tel';
case $fieldName === 'email':
return 'email';
case isset($options['rows']) || isset($options['cols']):
return 'textarea';
}
return $type;
}