在magento中,我知道如何在頁面佈局文件中包含js文件。儘管如此,我是否僅使用自定義模塊在特定頁面上包含特定的JavaScript文件。 例如,我正在編寫一個自定義模塊,它將與產品視圖和列表頁面一起工作。因此,我希望有一些佈局更新,我可以使用我的模塊,將包括我的JavaScript文件只在產品視圖和列表頁面。Magento - 如何在頁面的基礎上包含JavaScript文件
回答
您需要做的是找到要包含JS的頁面的佈局句柄,並將它們添加到自定義模塊的佈局XML中。例如,包括在產品視圖中的JS,你將以下節點添加到您的佈局:
<catalog_product_view>
<reference name="head">
<action method="addJs"><script>path/file.js</script></action> **OR**
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
</reference>
選擇任一選項取決於您的JS文件住的地方。查看示例的默認catalog.xml或review.xml。
要計算佈局句柄(例如catalog_product_view),可以在他的博客中使用Alan Storm的優秀(免費)LayoutViewer模塊。
HTH, JD
這就是我一直在做的,但它不工作。 magento會加載它在當前主題中找到的所有layout.xml文件並處理它們嗎?例如,假設我只是將一個佈局文件轉儲到名爲mymodule.xml的基本/默認主題中,幷包含上面的引用,那麼magento會如何處理? – Jon 2010-10-14 21:59:10
如果您想快速瀏覽主題佈局中的某些內容,然後調用文件local.xml,Magento將始終檢查最後一個。我發現它對於利用非默認主題中的繼承特別有用。 – clockworkgeek 2010-10-14 23:27:53
爲您完成了這項工作?請隨時接受答案,如果它... – 2010-10-27 23:54:22
,您將需要一個佈局更新單元添加到您的模塊配置文件。根據你說的話,你需要這樣的事情在你的佈局文件:
<?xml version="1.0"?>
<layout version="0.1.0">
<catalog_product_view>
<reference name="head">
<action method="addJs"><script>yourscript.js</script></action>
</reference>
</catalog_product_view>
<catalog_category_view>
<reference name="head">
<action method="addJs"><script>yourscript.js</script></action>
</reference>
</catalog_category_view>
</layout>
在你的模塊配置文件
然後,你需要這樣的:
這假定yourscript.js坐在js文件夾的根目錄下。很顯然,你不想把它放在這裏,所以做什麼喬納森建議及用途:
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
,並把你的JS在你的主題皮膚文件夾。
祝你好運!
我需要一個路由器才能正常工作嗎?一個簡單的擴展做這件事似乎並沒有在這裏工作。我嘗試刪除默認主題文件夾中的layout.xml文件,並在當前的主題文件夾和magento中不會去尋找它。 javascript文件位於javascript根文件夾中,而不是主題文件夾。 – 2012-05-14 19:47:49
明白了。 JS的錯誤路徑。謝謝! – 2012-05-15 15:13:52
- 1. 如何在Magento PHP頁面中包含ASP.NET文件?
- 2. 如何檢查加載哪個URL並在此基礎上包含頁面?
- 3. 如何在外部頁面中包含外部JavaScript文件?
- 4. 如何在頁面加載之前動態包含JavaScript文件
- 5. 如何在JSF頁面中包含外部Javascript文件
- 6. 在magento的條件基礎上的首頁
- 7. 無效字面INT()與基礎文件10只包含整數
- 8. 如何將我的JavaScript文件包含到HTML頁面中?
- 9. typoscript包含頁面內容的菜單基礎
- 10. 基礎:如何在所有頁面中包含一大塊HTML,即標題?
- 11. 如何在Magento特價頁面中包含分頁?
- 12. 如何在Javascript中設置頁面的基礎href?
- 13. 如何在包含mPDF的頁面中包含ToC頁面?
- 14. 包含JavaScript的JQuery.load()頁面
- 15. 如何僅在指定頁面上包含Javascript
- 16. 如何在包含頁面上聲明變量(不是包含頁面)?
- 17. 將頁面底部的JavaScript文件包含在
- 18. 在html頁面中包含php文件
- 19. 在包含SSI的HTML頁面中包含日誌文件
- 20. 如何在node.js上包含json文件javascript文件
- 21. 在多個SCSS文件中包含基礎變量
- 22. 如何在xslt中包含javaScript文件
- 23. 如何在Eclipse中包含JavaScript文件
- 24. 如何在HTML中包含JavaScript文件?
- 25. 如何在JavaScript文件中包含庫?
- 26. 如何在頁面中執行定義到包含在我的頁面中的.js文件中的JavaScript函數?
- 27. 如何包括的Facelets頁面的JavaScript文件到的Facelets頁
- 28. 在同一頁面上包含ID的文件
- 29. 在包含內容的頁面上觸發文件下載
- 30. 在IIS7上運行的ASP頁面但不拉包含文件
你能提供你希望他們包含哪些頁面的例子嗎? – 2010-10-14 21:46:28
嗨,謝謝,是我想包括他們的兩個頁面是/ catalog/category/view和catalog/product/view頁面。 – Jon 2010-10-14 21:48:16