POO PHP Helper "HelperText" - input-text
PHP Clase para crear y manipular un control text
Disclaimer:
Este código esta obsoleto. Ahora ha evolucionado a una librería completa de helpers que está publicada en Theframework Helpers
El método get_html() devuelve el string html asociado al control input-text.
<input type="text" ... >
¿Cómo utilizarla?
<?php
//Por defecto el id y el nombre del campo se crea con el mismo valor.
//si se desea otro nombre puedes usar el metodo set_name("valor_para_name");
$oTxtCampo = new HelperText("NombreCampo","textoLabel","string en value");
//Si se desea que se muestre en solo lectura
$oTxtCampo->readonly();
//Obligatorio
$oTxtCampo->required();
//añadiendo código javascript a un evento
$oTxtCampo->js_onchange("alert('se ha ejecutado el evento onchange()')");
//añadiendo clases de estilos
$oTxtCampo->add_class("clsMiEstilo");
$oTxtCampo->add_class("clsMiEstilo2");
//añadiendo estilos desde style
$oTxtCampo->set_style("background:red;");
//si necesitas añadir atributos extras al elemento input
$oTxtCampo->set_extras("someattrib=\"value\"");
//Un ejemplo del uso de atributo display. display por defecto está a true.
//si se pasa a false no se mostrará con show().
if($unValor=="invalido") $oTxtCampo->display(false);
$oTxtCampo->show();
?>
RESULTADO:
<label for="NombreCampo">textoLabel</label>
<input type="text" name="NombreCampo" id="NombreCampo" value="string en value"
readonly required onchange="alert('se ha ejecutado el evento onchange()')"
class="clsMiEstilo clsMiEstilo2" style="background:red;" someattrib="value">
La clase HelperText
/*
@author: Eduardo Acevedo Farje
@web: www.eduardoaf.com
*/
<?php
class HelperText extends MainHelper
{
private $_type = "text";
private $_value = "";
private $_name;
private $_maxlength; //Para text
private $_extras;
private $_extras_for_label;
public function __construct
($sControlId, $sValue="", $label="", $extras="", $iMaxLength="50", $class="", $extrasForLabel="")
{
$this->_control_id = $sControlId;
//Esta clase estatica ComponentText lo que hace es convertir
//caracteres conflictivos de texto plano a entidades html.
$this->_value = ComponentText::clean_for_html($sValue);
$this->_name = $sControlId;
$this->_label = $label;
$this->_maxlength = $iMaxLength;
$this->_extras = $extras;
$this->_class = $class;
$this->_extras_for_label = $extrasForLabel;
}
public function get_html()
{
$sHtmlInputText = "";
$sDivFieldContain = "<div data-role=\"fieldcontain\">\n";
$sDivFieldContainEnd = "</div>\n";
$sClass = $this->get_class_style_from_array();
$this->_extras_for_label .= $sClass;
if(!empty($this->_label))
$sHtmlInputText .= $this->create_html_label($this->_control_id,$this->_label,$this->_extras_for_label);
$sHtmlInputText .= "<input ";
$sHtmlInputText .= "type=\"$this->_type\" ";
$sHtmlInputText .= "id=\"$this->_control_id\" ";
$sHtmlInputText .= "name=\"$this->_name\" ";
$sHtmlInputText .= "value=\"$this->_value\" ";
if(!empty($this->_maxlength))$sHtmlInputText .= "maxlength=\"$this->_maxlength\" ";
if($this->_isDisabled) $sHtmlInputText .= "disabled ";
if($this->_isReadOnly) $sHtmlInputText .= "readonly ";
if($this->_isRequired) $sHtmlInputText .= "required ";
if($this->_js_onblur) $sHtmlInputText .= "onblur=\"$this->_js_onblur\" ";
$sHtmlInputText .= $sClass;
if(!empty($this->_style)) $sHtmlInputText .= "style=\"$this->_style\" ";
if(!empty($this->_extras)) $sHtmlInputText .= $this->_extras;
$sHtmlInputText .= ">\n";
if($this->_useFieldContain) $sHtmlInputText = $sDivFieldContain.$sHtmlInputText.$sDivFieldContainEnd;
return $sHtmlInputText;
}
public function set_type($sType)
{
$this->_type = $sType;
}
public function set_control_id($sValor)
{
$this->_control_id = $sValor;
}
public function set_name($sValor)
{
$this->_name = $sValor;
}
public function set_extras($sValor)
{
$this->_extras = $sValor;
}
public function set_value($sValue)
{
$this->_value = ComponentText::clean_for_html($sValue);
}
public function set_label($sValue)
{
$this->_label = $sValue;
}
public function set_extras_for_label($sValue)
{
$this->_extras_for_label = $sValue;
}
public function set_maxlength($iNumChars)
{
$this->_maxlength = $iNumChars;
}
public function set_keycode($isKeyCode=true)
{
$this->_isKeyCode = $isKeyCode;
}
//=============== GET ======================
public function get_control_id()
{
return $this->_control_id;
}
public function get_name()
{
return $this->_name;
}
public function get_value()
{
return $this->_value;
}
public function get_class()
{
return $this->_class;
}
public function get_extras()
{
return $this->_extras;
}
public function get_label()
{
return $this->_label;
}
}
Autor: Eduardo A. F.
Publicado: 14-04-2012 13:10
Actualizado: 27-04-2012 20:10