Usted no incluir archivos JS dentro del PHP, serían salida como etiquetas script en el código HTML que produce que se puede estar produciendo como salida desde el script PHP.
Hasta donde yo sé, no existe una función CodeIginiter incorporada para incluir esta salida como lo hay para CSS utilizando la función link_tag()
proporcionada por CI. He agregado una función llamada script_tag()
al archivo system/helpers/html_helper.php
de CI. La función es:
if (! function_exists('script_tag')) {
function script_tag($src = '', $language = 'javascript', $type = 'text/javascript', $index_page = FALSE)
{
$CI =& get_instance();
$script = '<scr'.'ipt';
if (is_array($src)) {
foreach ($src as $k=>$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 .= "></scr"."ipt>\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 .= ' /></scr'.'ipt>'."\n";
}
return $script;
}
}
Luego, en su código PHP que puede hacer:
echo script_tag('content/js/jquery-1.4.2.js');
Gracias Isern Palaus. Intenté esto pero base_url() hace eco de "http://example.com/" y da error de archivo no encontrado para esos archivos .js. ¿Alguna sugerencia? – Raj
¿Puedes publicar tu controlador y tu vista? Si base_url() muestra tu url a la derecha. Tienes que configurar tu URL BASE en el archivo config.php en la configuración del directorio, ¡es muy importante! – ipalaus
Gracias Isern. En realidad, no configuré config ['base_url'] en el archivo config.php en mi url del proyecto. Solo hice eso. – Raj