Per rispondere Parte 1 - no, non tutti questi sono necessari, ma la maggior parte lo sono e dipende dal tuo tema. Un tema Magento predefinito li usa tutti, ma uno personalizzato quasi certamente non avrà bisogno di tutti gli scriptaculous.
I vari tipi, mage e prototipi saranno quasi sempre richiesti, creando un tema che elimina tutti questi è molto, molto, difficile perché parte della pagina in javascript che dipende da loro in realtà non proviene dal tema ma dai file php di base.
Su temi semplici Ho ottenuto buoni risultati rimuovendo dragdrop e slider poiché non utilizzo la visualizzazione zoom del prodotto. È possibile rimuovere il menu se non si utilizza il menu Magento, ma solo se si è pronti a fare funzioni dummy js per catturare le eventuali chiamate lasciate indietro - l'oggetto di navigazione del menu inietta la funzione javascript direttamente dal livello php che deve essere catturato (o meglio ancora puoi lanciare il tuo oggetto di navigazione categoria che non lo fa!).
Per Parte 2 - modificare i tuoi temi page.xml layout per rimuoverli dal tag <block type="page/html_head" name="head" as="head">
. Suggerisco di commentarli e testarli singolarmente.
È possibile inserire i file javascript richiesti nei tipi di pagina che ne hanno bisogno aggiungendo tag javascript alla sezione head dei file di layout appropriati. Come esempio di come è fatto, dai un'occhiata al sendfriend predefinito.file di layout xml che aggiunge il file product.js alla testa solo per le pagine che ne hanno bisogno.
Se si inizia ad aggiungere/rimuovere javascript in modo aggressivo in base al tipo di pagina, è necessario considerare anche come Magento unisce i file javascript. C'è un'impostazione nell'area di sviluppo delle schermate di configurazione per unire i file javascript, accenderlo è un'ottima cosa. Unisce tutti i file javascript nell'area della testa che sono stati iniettati usando "addJs" o "addItem" con un tipo di elemento "js" o "skin_js".
MA a causa di questo se inizi a includere/escludendo script su una pagina per pagina, scoprirai che stai generando diversi file js uniti su pagine diverse, distruggendo la maggior parte dei vantaggi della memorizzazione nella cache di un singolo file js di grandi dimensioni !
Per ottenere il meglio da entrambi i mondi si dovrebbe essere in grado di iniettare js in testa usando ma senza specificare il tipo di elemento, impedendo così che il file venga unito - ma non l'ho ancora provato. Se funziona, troverai le librerie principali unite e i file personalizzati per pagina inclusi singolarmente, il che significa che memorizzi nella cache quello più grande e scaricano solo il bit che cambia.
Estensione Magento: Pro, elegante e leggera! Offerto da JoomlArt.com. Vuoi renderlo ancora più leggero? :) – Younes
Come ottimizzazione trivial, minify prototype.js :) –
Mi stavo chiedendo lo stesso, sto cercando di velocizzare il mio sito. Ho appena abilitato gzip e le mie dimensioni del file javascript ridotte del 70%. – dardub