Constants

DEFAULT_ENCODING

DEFAULT_ENCODING

Codificación usada por defecto.

NAVEGADOR_CUALQUIERA

NAVEGADOR_CUALQUIERA

Cualquier navegador y versión.

NAVEGADOR_IE

NAVEGADOR_IE

Internet Explorer, cualquier versión.

NAVEGADOR_IE6

NAVEGADOR_IE6

Internet Explorer 6 y anteriores.

NAVEGADOR_IE7

NAVEGADOR_IE7

Internet Explorer 7.

NAVEGADOR_IE8

NAVEGADOR_IE8

Internet Explorer 8.

Methods

abrir()

abrir(boolean  $incluirDoctype = true, boolean  $incluirDeclaracionXml = true, string  $codificacion_xml = self::DEFAULT_ENCODING,   $lang = 'es') 

Genera la apertura de una página XHTML.

Parameters

boolean $incluirDoctype

¿se debe incluir la declaración de DOCTYPE?

boolean $incluirDeclaracionXml

¿se debe incluir la declaración XML como primera línea?

string $codificacion_xml

nombre de la codificación a incluir en la declaracion XML; se ignora si $incluirDeclaracionXml == false

$lang

cerrar()

cerrar() 

Genera el tag de cierre de una página.

head()

head(array  $scripts, array  $csss, string  $title = '', string  $codificacion_html = self::DEFAULT_ENCODING, string  $extra = '', boolean  $cancelar_cache = true) 

Genera la cabecera de una página, incluyendo scripts y CSSs.

Parameters

array $scripts

rutas de archivos js a incluir

array $csss

rutas de archivos css a incluir. Puede ser (1) un string si es un solo archivo o (2) un arreglo si es más de uno. Si es un arreglo, cada elemento puede ser (2a) un string o (2b) un arreglo de 2 elementos con claves 'nav' y 'ruta'; el valor de 'nav' indica la versión de navegador a la que se debe limitar el CSS (una de las constantes Html::NAVEGADOR_*); el valor de 'ruta' da la ruta del archivo. Por ejemplo:

$csss = array('principal.css', array('nav' => 'IE6', 'ruta' => 'ie.css'))
   indica que principal.css se debe aplicar a cualquier navegador y ie.css sólo a IE 6 o anteriores.
string $title

título de la página

string $codificacion_html

nombre de la codificación de la página (debería coincidir con la indicada en la declaración xml, si se incluye)

string $extra

cualquier contenido a agregar antes de cerrar la cabecera

boolean $cancelar_cache

¿se debe incluir instrucciones para que el navegador no guarde la página en su cache?

abrirBody()

abrirBody(string  $clase = "body",   $extra = '') 

Genera el tag de apertura de body de una página html.

Parameters

string $clase
$extra

cerrarBody()

cerrarBody() 

Genera el tag de cierre de body de una pagina html.

atributoTexto()

atributoTexto(string  $nombre, string  $valor, boolean  $escapar = false, boolean  $eliminar_saltos_linea = true) : string

Genera el código para un atributo HTML cuyo valor es de tipo texto.

Devuelve un string vacío si $valor está vacío.

Ejemplos: Html::atributoTexto('title', '') == ''; Html::atributoTexto('title', "Ejemplo -> 'título'", false) == 'title="Ejemplo -> \'título\''; Html::atributoTexto('title', 'Ejemplo -> "título"', true); == 'title="Ejemplo -> "título""'

Parameters

string $nombre

nombre del atributo

string $valor

valor del atributo

boolean $escapar

¿se deben convertir a entidades los caracteres de $valor?

boolean $eliminar_saltos_linea

¿se deben eliminar los saltos de línea que pudiera haber en $valor?

Returns

string

atributoSimple()

atributoSimple(string  $nombre) : string

Genera el código para un atributo HTML simple (un atributo que no requiere valor, por ejemplo disabled).

Parameters

string $nombre

nombre del atributo

Returns

string

abrirTag()

abrirTag(string  $nombre_tag, string  $nombre = '', string  $clase = '', string  $extra = '', boolean  $retornar = false, string  $estilo = '', boolean  $cerrar = false, string  $titulo = '', boolean  $salto_linea = true) : mixed

Abre un tag HTML con un nombre dado.

Parameters

string $nombre_tag

nombre del tag a abrir

string $nombre

id a aplicar al elemento

string $clase

clase css a aplicar al tag

string $extra

otros atributos a incluir en el tag; por ejemplo: $extra = " onclick='alert(\"Click!\");' lang='es'"

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $estilo

contenido del atributo 'style' del elemento

boolean $cerrar

¿se debe generar el cierre del elemento? (por ejemplo para los elementos br y hr)

string $titulo

contenido del atributo 'title' del elemento

boolean $salto_linea

¿se debe agregar un salto de linea al final del tag?

Returns

mixed —

string o nada, dependiendo de $retornar

cerrarTag()

cerrarTag(string  $nombre_tag, boolean  $retornar = false, boolean  $salto_linea = true) : mixed

Cierra un tag HTML con un nombre dado.

Parameters

string $nombre_tag

nombre del tag a cerrar

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

boolean $salto_linea

¿se debe agregar un salto de linea al final del tag?

Returns

mixed —

string o nada, dependiendo de $retornar

elemento()

elemento(string  $nombre_tag, string  $contenido, string  $nombre = '', string  $clase = '', string  $extra = '', boolean  $retornar = false, string  $estilo = '', string  $titulo = '', boolean  $salto_linea = true) : mixed

Genera un elemento HTML completo.

Parameters

string $nombre_tag

nombre del tag

string $contenido

contenido del elemento, a colocar entre el tag de apertura y el de cierre; si es nulo o vacío, cierra el elemento en el mismo tag

string $nombre

id a aplicar al elemento

string $clase

clase css a aplicar al elemento

string $extra

parámetros extra a agregar al elemento

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $estilo

contenido del atributo 'style' del elemento

string $titulo

contenido del atributo 'title' del elemento

boolean $salto_linea

¿se debe agregar un salto de linea al final del elemento?

Returns

mixed —

string o nada, dependiendo de $retornar

heading()

heading(integer  $nivel, string  $contenido, string  $nombre = '', string  $clase = '', string  $estilo = '', string  $titulo = '', string  $extra = '', boolean  $retornar = false) : mixed

Genera un elemento de heading (h1 .

. h6).

Parameters

integer $nivel

nivel de título (entre 1 y 6)

string $contenido

contenido del elemento, a colocar entre el tag de apertura y el de cierre; si es nulo o vacío, cierra el elemento en el mismo tag

string $nombre

id a aplicar al elemento

string $clase

clase css a aplicar al elemento

string $estilo

contenido del atributo 'style' del elemento

string $titulo

contenido del atributo 'title' del elemento

string $extra

parámetros extra a agregar al elemento

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Throws

\DomainException

si $nivel no tiene un valor válido

Returns

mixed —

string o nada, dependiendo de $retornar

saltoLinea()

saltoLinea(boolean  $retornar = false) : mixed

Devuelve o genera un salto de línea (elemento br).

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

link()

link(string  $destino, string  $contenido, string  $extra = "", string  $clase = "DataLink", boolean  $retornar = false, string  $nombre = '', string  $estilo = '', string  $titulo = '', boolean  $nueva_ventana = false, array  $params_ventana = null, string  $onclick = '', boolean  $salto_linea = true) : mixed

Genera un link html (a href=.

..).

Parameters

string $destino

URL de destino del link

string $contenido

texto a mostrar

string $extra
string $clase

atributo class

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $nombre

atributo id

string $estilo

atributo style

string $titulo

atributo title

boolean $nueva_ventana

si es true, el link se debe abrir en una nueva ventana; si es false, debe reemplazar el contenido de la actual

array $params_ventana

un arreglo con la estructura

array('inline'=>(boolean), 'nombre'=>(string), 'ancho'=>(string), 'alto'=>(string), 'arriba'=>(string), 'izquierda'=>(string)), con parámetros para la ventana que se abre si $nueva_ventana es true; cualquiera de estos parámetros puede estar ausente; si 'inline' es true (por defecto es false), se abre en un div dentro de la página actual; 'nombre' sólo se usa si 'inline' es false; 'arriba' e 'izquierda' sólo se usan si 'inline' es true
string $onclick

código javascript a ejecutar en el evento click del link, antes del código generado por este método

boolean $salto_linea

¿se debe agregar un salto de línea al final del tag?

Returns

mixed —

string o nada, dependiendo de $retornar

linkJavascript()

linkJavascript(string  $contenido, string  $onclick, string  $extra = "", string  $clase = "DataLink", boolean  $retornar = false, string  $nombre = '', string  $estilo = '', string  $titulo = '', boolean  $salto_linea = true) : mixed

Genera un link html (a href=.

..) para ejecutar código javascript en el evento click.

Parameters

string $contenido

texto a mostrar

string $onclick

código javascript a ejecutar

string $extra
string $clase

atributo class

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $nombre

atributo id

string $estilo

atributo style

string $titulo

atributo title

boolean $salto_linea

¿se debe agregar un salto de línea al final del tag?

Returns

mixed —

string o nada, dependiendo de $retornar

idValido()

idValido(string  $id, string  $replacement = '_', string  $pref = 'a_') : string

Devuelve un ID html sintácticamente válido.

Parte de un string dado y lo modifica si es necesario para asegurar su validez. Aplica las reglas siguientes:

  • reemplaza todos los caracteres inválidos en $id por $replacement
  • si $id no empieza con una letra, lo prefija con $pref

Parameters

string $id

valor original del ID

string $replacement

valor con que se deben reemplazar los caractenes inválidos

string $pref

prefijo para agregar a $id si no empieza con una letra ([A-Za-z])

Returns

string —

$id convertido en un ID html sintácticamente válido

anchor()

anchor(string  $nombre, boolean  $retornar = false) : mixed

Genera un ancla html (a name="nombre" id="nombre").

Parameters

string $nombre

nombre del ancla; el método puede modificar este nombre para asegurar que sea válido

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

referenciaAnchor()

referenciaAnchor(string  $nombre, boolean  $retornar = false) : mixed

Genera una referencia a un ancla html o un a ID del documento (#nombre).

Parameters

string $nombre

nombre del ancla; el método puede modificar este nombre para asegurar que sea válido

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

img()

img(string  $imagen, string  $alt = "", string  $ancho = "", string  $alto = "", string  $borde = "", boolean  $retornar = false, string  $nombre = null, string  $clase = null, string  $extra = null) : mixed

Genera un elemento 'img'.

Parameters

string $imagen
string $alt
string $ancho
string $alto
string $borde
boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $nombre
string $clase
string $extra

Returns

mixed —

string o nada, dependiendo de $retornar

imgPixel()

imgPixel(string  $alt = "", string  $ancho = 1, string  $alto = 1, string  $borde = "", boolean  $retornar = false, string  $nombre = null, string  $clase = null, string  $extra = null) : mixed

Genera un elemento img para una imagen transparente de 1x1.

Parameters

string $alt
string $ancho
string $alto
string $borde
boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $nombre
string $clase
string $extra

Returns

mixed —

string o nada, dependiendo de $retornar

estilo()

estilo(string  $estilo, boolean  $retornar = false, string  $media = 'all') : mixed

Genera la inclusión de una hoja de estilo externa.

Parameters

string $estilo

url del archivo a incluir

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

string $media

valor para el atributo 'media' del elemento 'link'

Returns

mixed —

string o nada, dependiendo de $retornar

abrirEstiloInline()

abrirEstiloInline(boolean  $retornar = false) : mixed

Genera la apertura de una hoja de estilos inline.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

cerrarEstiloInline()

cerrarEstiloInline(boolean  $retornar = false) : mixed

Genera un cierre del tag 'style' html.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

javascript()

javascript(string  $fuente, boolean  $retornar = false, boolean  $diferir = false) : mixed

Genera un tag 'script' html, para incluir un archivo javascript externo.

Parameters

string $fuente
boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

boolean $diferir

Returns

mixed —

string o nada, dependiendo de $retornar

abrirJavascript()

abrirJavascript(boolean  $retornar = false, boolean  $diferir = false) : mixed

Genera una apertura del tag 'script' html, seguida de la apertura de una sección CDATA.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

boolean $diferir

Returns

mixed —

string o nada, dependiendo de $retornar

cerrarJavascript()

cerrarJavascript(boolean  $retornar = false) : mixed

Genera un cierre del tag 'script' html, precedido por el cierre de la sección CDATA.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

javascriptCompleto()

javascriptCompleto(string  $codigo, boolean  $diferir = false, boolean  $retornar = false) : mixed

Genera un elemento 'script' html para incluir código javascript.

No produce una sección CDATA, a diferencia de \abrirJavascript() y \cerrarJavascript().

Parameters

string $codigo

código javascript a incluir en el elemento

boolean $diferir

¿agregar el atributo "defer" al elemento "script"?

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

arrayJavascript()

arrayJavascript(array  $valores, boolean  $strings = true, boolean  $retornar = false) : mixed

Construye el texto para un arreglo javascript.

Ejemplo:

arrayJavascript(array('aaa', 'bbb'))   -->   "[ \"aaa\", \"bbb\" ]\n"

Parameters

array $valores

arreglo con índices enteros que contiene los valores del arreglo; cada elemento puede ser un valor simple o un array con el formato:

array('string' => boolean, 'valor' => mixed)
   en el primer caso, se usa <var>$strings</var> para determinar si el valor se encierra entre comillas;
   en el segundo caso, se usa <var>$valores[?]['string']</var> para ello
boolean $strings

¿los valores se deben tomar como strings (encerrarlos entre comillas)?

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

mapaJavascript()

mapaJavascript(array  $propiedades, boolean  $strings = true, boolean  $retornar = false) : mixed

Construye el texto para un mapa javascript (objeto con pares "propiedad: valor").

Ejemplo:

mapaJavascript(array('prop1' => 'valor1', 'prop2' => 'valor2'))
   -->   "{ prop1: \"valor1\", prop2: \"valor2\" }\n"

Parameters

array $propiedades

arreglo asociativo que indica las propiedades del mapa cada valor puede ser un valor simple o un array con el formato:

array('string' => boolean, 'valor' => mixed)
   en el primer caso, se usa <var>$strings</var> para determinar si el valor se encierra entre comillas;
   en el segundo caso, se usa <var>$valores[?]['string']</var> para ello
boolean $strings

¿los valores se deben tomar como strings (encerrarlos entre comillas)?

boolean $retornar

si es true, retorna el código javascript; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

arrayDeMapasJavascript()

arrayDeMapasJavascript(  $valores, boolean  $strings_propiedades = true, boolean  $retornar = false) : mixed

Construye el texto para un arreglo de mapas javascript.

Parameters

$valores
boolean $strings_propiedades

¿los valores de los arrays internos se deben tomar como strings (encerrarlos entre comillas) al armar los mapas?

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

abrirDiv()

abrirDiv(string  $nombre, string  $clase = '', string  $extra = '', boolean  $retornar = false,   $estilo = '') : mixed

Genera una apertura del tag 'div' html.

Parameters

string $nombre
string $clase
string $extra
boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

$estilo

Returns

mixed —

string o nada, dependiendo de $retornar

cerrarDiv()

cerrarDiv(boolean  $retornar = false) : mixed

Genera un cierre del tag 'div' html.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

abrirComentario()

abrirComentario(boolean  $retornar = false) : mixed

Abre un comentario HTML.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

cerrarComentario()

cerrarComentario(boolean  $retornar = false, boolean  $salto_linea = true) : mixed

Cierra un comentario HTML.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

boolean $salto_linea

¿se debe agregar un salto de linea después del cierre del comentario?

Returns

mixed —

string o nada, dependiendo de $retornar

comentario()

comentario(  $texto, boolean  $retornar = false, boolean  $salto_linea = true) : mixed

Genera un comentario HTML.

Parameters

$texto
boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

boolean $salto_linea

¿se debe agregar un salto de linea después del cierre del comentario?

Returns

mixed —

string o nada, dependiendo de $retornar

comentarioCondicional()

comentarioCondicional(string  $condicion, string  $contenido, boolean  $retornar = false) : mixed

Genera un comentario condicional.

Estos comentarios sólo son interpretados por Internet Explorer y tienen el formato:

<!--[if $condicion]>
$contenido
<![endif]-->

Parameters

string $condicion

la condición

string $contenido

el contenido condicionado del comentario

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

abrirCData()

abrirCData(boolean  $retornar = false) : mixed

Abre una sección CDATA.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

cerrarCData()

cerrarCData(boolean  $retornar = false) : mixed

Cierra una sección CDATA.

Parameters

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar

lista()

lista(array  $elementos, boolean  $ordenada = false, string  $nombre = '', string  $clase = '', string  $extra = null, array  $clases_elementos = null, boolean  $retornar = false) : mixed

Genera el código HTML para una lista completa.

Es posible crear listas anidadas, colocando como contenido de $elementos el resultado de una llamada previa a este método.

Parameters

array $elementos

contenido de cada uno de los elementos de la lista; si la clave de un elemento en el array es un string, dicha clave se utiliza como ID del elemento; si es numérica, no se le aplica un ID

boolean $ordenada

¿se debe generar una lista ordenada (ol) o desordenada (ul)?

string $nombre

ID de la lista

string $clase

clase CSS a aplicar a la lista

string $extra

cadena de atributos extra que se deban aplicar a la lista

array $clases_elementos

nombres de clases CSS a aplicar a los elementos de la lista, en forma cíclica; las claves de este arreglo deben ser valores numéricos consecutivos, comenzando en 0

boolean $retornar

si es true, retorna el código HTML; si es false, lo envía a la salida

Returns

mixed —

string o nada, dependiendo de $retornar