Pour répondre à la partie 1 - ne pas tous ces éléments sont nécessaires, mais la plupart sont et cela dépend de votre thème. Un thème magento par défaut les utilise tous, mais un thème personnalisé n'aura presque certainement pas besoin de tous les scripts. Le varien, le mage et le prototype seront presque toujours nécessaires, la création d'un thème qui supprime tout cela est très, très difficile car une partie du javascript dans la page qui en dépend ne vient pas du thème mais à partir des fichiers php de base.
Sur des thèmes simples, j'ai eu de bons résultats en supprimant le dragdrop et le curseur car je n'utilise pas l'affichage du zoom du produit. Vous pouvez supprimer le menu si vous n'utilisez pas le menu Magento, mais seulement si vous êtes prêt à faire des fonctions js factice pour attraper tous les appels qui y sont laissés - l'objet de navigation menu injecte la fonction javascript directement à partir de la couche php qui doit être attrapé (ou mieux encore vous pouvez rouler votre propre objet de navigation de catégorie qui ne fait pas cela!).
pour la partie 2 - modifier vos thèmes page.xml mise en page pour les supprimer de la balise <block type="page/html_head" name="head" as="head">
. Je suggère de les commenter et de tester chacun d'eux au fur et à mesure.
Vous pouvez injecter les fichiers javascript requis dans les types de pages qui en ont besoin en ajoutant des balises javascript à la section head des fichiers de mise en page appropriés. Comme un exemple de la façon dont cela est fait jeter un oeil à l'sendfriend par défaut.Fichier de mise en page XML qui ajoute le fichier product.js à la tête uniquement pour les pages qui en ont besoin.
Si vous commencez à ajouter/supprimer agressivement du javascript en fonction du type de page, vous devez également considérer comment Magento fusionne les fichiers javascript. Il y a un paramètre dans la zone de développement des écrans de configuration pour fusionner les fichiers javascript, activer ceci est une très bonne chose. Ceci fusionne tous les fichiers javascript dans la zone d'en-tête qui ont été injectés en utilisant "addJs" ou "addItem" avec un type d'élément "js" ou "skin_js". MAIS à cause de cela, si vous commencez à inclure/exclure des scripts page par page, vous trouverez que vous générez différents fichiers js fusionnés sur des pages différentes - détruisant la plupart des avantages de la mise en cache d'un seul grand fichier js ! Pour obtenir le meilleur des deux mondes, vous devriez pouvoir injecter js dans la tête en utilisant mais sans spécifier le type d'élément, empêchant ainsi la fusion de ce fichier - mais je ne l'ai pas encore essayé. Si cela fonctionne, vous trouverez les bibliothèques de base fusionnées et vos fichiers personnalisés par page inclus individuellement, ce qui signifie que vous mettez en cache le grand et ils ne téléchargent que le bit qui change.
Magento: Extension Pro, élégante et légère! Présenté par JoomlArt.com. Vous voulez le rendre encore plus Leightweight? :) – Younes
Comme une optimisation triviale, minify prototype.js :) –
Je me demandais la même chose, j'essaie d'accélérer mon site. Je viens d'activer gzip et mes tailles de fichiers javascript réduits de 70%. – dardub