Estoy tratando de insertar archivos JS en la vista, pero se están insertando en el orden incorrecto.
En mi default.ctp tengo este
$this->Html->script(array(
'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js',
'global'
), array('inline'=>false));
echo $this->fetch('script');
En mi opinión tengo esto:
$this->Html->script('jquery.fancybox.pack', array('inline' => false));
Pero cuando veo la fuente que sale de esta manera:
<script type="text/javascript" src="/js/jquery.fancybox.pack.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="/js/global.js">
Que obviamente es el orden incorrecto, por lo que el complemento jQuery no funciona.
¿Qué estoy haciendo mal?
Esto es lo que tenía al principio, pero realmente me gustó poner todo en '$ this-> fetch ('script');' porque se aseguraba de que todo el CSS fuera primero, luego todo JS. No es un CSS, un JS, un CSS, etc. – 472084
¿No son css y scripts en diferentes bloques? ¿Y no puedes asignarlos a bloques de todos modos? http://book.cakephp.org/2.0/en/views.html#using-blocks-for-script-and-css-files – jeremyharris
Lo que quise decir es que si hace eco de CSS en línea en su vista, estará debajo del JS en el diseño, y estoy tratando de mantener todo el CSS primero --- Los bloques funcionan muy bien pero el problema que tengo es que los archivos JS agregados en la vista se agregan antes que los archivos JS en el diseño, por lo que no puedes tener jQuery en el diseño y los complementos específicos en cada vista, ya que los complementos estarán por encima de la llamada jQuery. – 472084