|
TYPO3 API
SVNRelease
|
00001 <?php 00002 00003 /* * 00004 * This script belongs to the FLOW3 package "Fluid". * 00005 * * 00006 * It is free software; you can redistribute it and/or modify it under * 00007 * the terms of the GNU Lesser General Public License as published by the * 00008 * Free Software Foundation, either version 3 of the License, or (at your * 00009 * option) any later version. * 00010 * * 00011 * This script is distributed in the hope that it will be useful, but * 00012 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- * 00013 * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser * 00014 * General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU Lesser General Public * 00017 * License along with the script. * 00018 * If not, see http://www.gnu.org/licenses/lgpl.html * 00019 * * 00020 * The TYPO3 project - inspiring people to share! * 00021 * */ 00022 00023 /** 00024 * View Helper which creates a text field (<input type="text">). 00025 * 00026 * = Examples = 00027 * 00028 * <code title="Example"> 00029 * <f:form.textfield name="myTextBox" value="default value" /> 00030 * </code> 00031 * <output> 00032 * <input type="text" name="myTextBox" value="default value" /> 00033 * </output> 00034 * 00035 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later 00036 * @api 00037 */ 00038 class Tx_Fluid_ViewHelpers_Form_TextfieldViewHelper extends Tx_Fluid_ViewHelpers_Form_AbstractFormFieldViewHelper { 00039 00040 /** 00041 * @var string 00042 */ 00043 protected $tagName = 'input'; 00044 00045 /** 00046 * Initialize the arguments. 00047 * 00048 * @return void 00049 * @author Robert Lemke <robert@typo3.org> 00050 * @api 00051 */ 00052 public function initializeArguments() { 00053 parent::initializeArguments(); 00054 $this->registerTagAttribute('disabled', 'string', 'Specifies that the input element should be disabled when the page loads'); 00055 $this->registerTagAttribute('maxlength', 'int', 'The maxlength attribute of the input field (will not be validated)'); 00056 $this->registerTagAttribute('readonly', 'string', 'The readonly attribute of the input field'); 00057 $this->registerTagAttribute('size', 'int', 'The size of the input field'); 00058 $this->registerArgument('errorClass', 'string', 'CSS class to set if there are errors for this view helper', FALSE, 'f3-form-error'); 00059 $this->registerUniversalTagAttributes(); 00060 } 00061 00062 /** 00063 * Renders the textfield. 00064 * 00065 * @param boolean $required If the field is required or not 00066 * @param string $type The field type, e.g. "text", "email", "url" etc. 00067 * @param string $placeholder A string used as a placeholder for the value to enter 00068 * @return string 00069 * @author Robert Lemke <robert@typo3.org> 00070 * @api 00071 */ 00072 public function render($required = NULL, $type = 'text', $placeholder = NULL) { 00073 $name = $this->getName(); 00074 $this->registerFieldNameForFormTokenGeneration($name); 00075 00076 $this->tag->addAttribute('type', $type); 00077 $this->tag->addAttribute('name', $name); 00078 00079 $value = $this->getValue(); 00080 00081 if ($placeholder !== NULL) { 00082 $this->tag->addAttribute('placeholder', $placeholder); 00083 } 00084 00085 if (!empty($value)) { 00086 $this->tag->addAttribute('value', $value); 00087 } 00088 00089 if ($required !== NULL) { 00090 $this->tag->addAttribute('required', 'required'); 00091 } 00092 00093 $this->setErrorClassAttribute(); 00094 00095 return $this->tag->render(); 00096 } 00097 00098 } 00099 00100 ?>
1.8.0