plantilla - google analytics joomla
Controlar manualmente el marcado<head> en Joomla (3)
Como se explica por la respuesta de Jobin, normalmente incluiría los datos del encabezado con la <jdoc:include type="head" />
, pero si desea tener más control sobre esto, puede usar el JDocument
.
Código de ejemplo en PHP de su plantilla:
$doc = JFactory::getDocument();
$my_head_data = $doc->getHeadData();
Esto le proporcionará una matriz de los datos que JDocument normalmente imprimiría, para que pueda elegir completamente qué imprimir y cómo.
¿Hay alguna forma de configurar manualmente los contenidos de la sección <head>
del sitio en Joomla 3.1? Quiero utilizar el sistema de plantillas para todo el marcado de la página, incluido todo entre <html></html>
.
Acabo de leer esto: http://forum.joomla.org/viewtopic.php?f=466&t=230787 y estoy asombrado con la respuesta. Seguramente esta es la plantilla / separación de datos 101. ¿Se ha solucionado esto en la última versión de Joomla?
Si está planificando el desarrollo de una plantilla y necesita que todos sus datos de plantilla se separen de las bibliotecas de Joomla o del archivo central (la sección principal).
Normalmente, la sección de cabecera incluye funciona como
<jdoc:include type="head" />
carga el contenido de las bibliotecas libraries/joomla/document/html/renderer/head.php
Si desea anular el contenido del encabezado, puede crear un módulo para su tarea. Simplemente cree un módulo e incluya ese módulo en lugar de este encabezado, asegúrese de tener todos los códigos necesarios para trabajar $document
Class, de lo contrario, perderá muchas características de Joomla con respecto a la document class
Para hacer que jQuery cargue desde CDN y ponerlo en la parte superior de la lista de scripts, hice un pequeño parche justo después de $ doc = JFactory :: getDocument (); que manipula la matriz de encabezado directamente dentro de $ this object de la siguiente manera:
$my_jquery = "//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js";
$my_jquery_ui = "//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js";
$my_jquery_cx = $this->baseurl."/media/jui/js/jquery-noconflict.js ";
foreach($this->_scripts as $k=>$v) {
// put own jquery.conflict && jquery-ui && jquery on top of list
if( strpos($k,''jquery.min.js'')) {
unset($this->_scripts[$k]);
$r = array( $my_jquery_cx => $v);
$this->_scripts = $r + $this->_scripts;
$r = array( $my_jquery_ui => $v);
$this->_scripts = $r + $this->_scripts;
$r = array( $my_jquery => $v);
$this->_scripts = $r + $this->_scripts;
}
else if( strpos($k,''jquery.ui.min.js'')) {
unset($this->_scripts[$k]);
}
else if( strpos($k,''jquery-noconflict.js'')) {
unset($this->_scripts[$k]);
}
}
Reemplace $ my_jquery_xxx con parámetros de configuración editables en su archivo templateDetails.xml