Eu tenho um arquivo fancybox.js específico que desejo carregar no final de todos os arquivos JS incluídos no meu local.xml
Se a ordem de carregamento pode ser alterada, como um arquivo JS pode ser carregado (incluído) no final?
Obrigado.
Você pode classificar a ordem de skin
ou js
arquivos em layout.xml usando o elemento params com um atributo nome como esta resposta explica: -
<action method="addJs"><!-- this will be shown second -->
<script>prototype/javascript1.js</script>
<params><![CDATA[name="js002_second"]]></params>
</action>
<action method="addJs"><!-- this will be shown first -->
<script>prototype/javascript2.js</script>
<params><![CDATA[name="js001_first"]]></params>
</action>
<params><![CDATA[name="zjs_last"]]></params>
e veja o que acontece (não tenho 100% de certeza). Relate se isso não carregar depois de todos os outros.Eu não acho que você possa especificar uma ordem de classificação para os arquivos js adicionados(aparentemente, você pode ver a resposta fornecida por @zigojacko), mas acho que você pode fazê-lo de maneira um pouco diferente, compre adicionando um bloco filho aohead
bloco.Todos os filhos do
head
bloco são renderizados após os elementos js e css.Aqui está o que você precisa.
Adicione isso a um dos seus arquivos de layout.
Em seguida, crie o arquivo
app/design/frontend/{package}/{theme}/template/fancybox/fancybox.phtml
com o seguinte conteúdo.fonte
Sei que essa pergunta é antiga, mas aqui está uma maneira simples de solicitar seus arquivos de ativos usando um módulo personalizado simples (testado):
crio
e insira:
crie
app/code/local/Company/ReorderAssets/etc/config.xml
e insira:crie
ReorderAssets/Block/Page/Html/Head.php
e insira:Aqui, criamos nossas funções
addItemFirst
eaddItemAfter
que podem ser usadas assim (dentro de qualquer layout.xml).Exemplo de layout.xml:
Observe os skin_js dentro do seu caminho.
Agradecimentos especiais a Koncz Szabolcs.
fonte