PHP, CodeIgniter y jQuery
CodeIgniter: HTML Helper modificado. script_tag(“archivo.js”); añadido.
Hola,
Después de mucho tiempo sin escribir, y habiendo salido ya la versión 1.6.2 de CodeIgniter, escribo para presentar una mejora a un helper de CodeIgniter. Concretamente se trata del HTML Helper, el cual incluye funcione para la ayuda en el HTML.
¿Qué hace? ¿Por qué? La última versión del framework añadía la posibilidad de crear tags <link /> con lo que podíamos añadir facilmente archivos CSS, shorcuts.ico u otros similares. Esto se hace mediante:
Y… ¿porqué no para incluir archivos JavaScript? Así que me decidí a hacer mi primer aportación al core de CodeIgniter (y espero que la añadan, claro). Esto consiste en la función script_tag(); para añadir tags <script />.
Y… ¿Cómo se usa? Simplemente es una extensión del helper existente así que debemos colocar el archivo dentro de la carpeta helpers dentro de application con el nombre MY_html_helper.php teniendo en cuenta que el prefijo para las extensiones es “MY_” ($config['subclass_prefix'] = ‘MY_’; en config.php).
El código en cuestión es el siguiente:
/**
* Script
*
* Generates a script inclusion of a JavaScript file
* Based on the CodeIgniters original Link Tag.
*
* Author(s): Isern Palaus <ipalaus@ipalaus.es>, Viktor Rutberg <wishie@gmail.com>
*
* @access public
* @param mixed javascript sources or an array
* @param string language
* @param string type
* @param boolean should index_page be added to the javascript path
* @return string
*/
if ( ! function_exists('script_tag'))
{
function script_tag($src = '', $language = 'javascript', $type = 'text/javascript', $index_page = FALSE)
{
$CI =& get_instance();
$script = '<script ';
if(is_array($src))
{
foreach($src as $v)
{
if ($k == 'src' AND strpos($v, '://') === FALSE)
{
if ($index_page === TRUE)
{
$script .= ' src="'.$CI->config->site_url($v).'"';
}
else
{
$script .= ' src="'.$CI->config->slash_item('base_url').$v.'"';
}
}
else
{
$script .= "$k=\"$v\"";
}
}
$script .= ">\n";
}
else
{
if ( strpos($src, '://') !== FALSE)
{
$script .= ' src="'.$src.'" ';
}
elseif ($index_page === TRUE)
{
$script .= ' src="'.$CI->config->site_url($src).'" ';
}
else
{
$script .= ' src="'.$CI->config->slash_item('base_url').$src.'" ';
}
$script .= 'language="'.$language.'" type="'.$type.'"';
$script .= '>'."\n";
}
$script .= '</script>';
return $script;
}
}
En cuanto su uso es sencillo:
Pronto os presentaré también otra modificación del helper URL Helper. Hasta pronto.
| Imprimir artículo | Este artículo fue publicado por Isern Palaus el 20 Junio 2008 a las 23:52, y está archivado en CodeIgniter. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |



hace 9 meses
Hey, porque no agregas un enlace en el post para descargar el archivo? Tienes idea de lo horrible que es copiar y pegar de tu recuadro [code][/code]?Gracias por el aporte, espero a que agregues el link pra descargar, gracias.
hace 7 meses
Buena idea. Habría estado bien descargar el archivo, ya que por aquí es algo complicado de leer. Saludos!hace 4 meses
Copiar y pegar complicado? hasta donde llega la pereza, gracias me salvaste la vida