1、magento Developer debug 怎麼用
因為Magento的設計思想就是一切功能皆模塊,如果是多人協作開發,最好的模式就是按照功能模塊劃分任務,各自負責一塊模塊,這樣既能提高效率,同時也可以避免相互覆蓋引起不必要的沖突。 現在就針對Magento的Theme開發做一個簡單說明: 原則:建議不修改任何Magento默認模板文件以及layout目錄下的XML文件,若有修改需要,直接拷貝一份到自身模板目錄下進行修改重構。 根據客戶提供的design設計稿,總結歸納出頁面的布局特點,同時抽出頁面的公共部分,例如:header,footer,topmenu,navigation,等等,這部分內容的HTML 放置於/app/design/frontend/default/<%theme%>/template/page/以其html目錄下,公共部分涉及到的css都放進/skin/frontend/default/<%theme%>/css/styles.css裡面,這部分內容一旦定型之後,其他人都不能隨意修改 但是一個網站除了公共部分,還有很多特定的頁面,他們都有著不同的布局和樣式,如何創建這些特定的頁面及其模塊呢,下面就針對Magento的gallery模塊的創建做一簡單說明: 首先創建模塊的配置文件,位於目錄/etc/moles/下: 例如:Silk_Gallery.xml (內容略) 然後創建模塊的主體文件,位於/app/code/local/ 例如:/app/code/local/Silk/gallery/ block/ etc/ controllers helper/ sql/ 因為時間關系,這里就不針對每個目錄做一一說明,各位同學可以查詢一下各個目錄結構的作用。 最後一部分為前台顯示部分,這主要涉及兩部分: #1 /app/design/frontend/default/<%theme%>/ 和 #2 /skin/frontend/default/<%theme%> 其中#1主要是放置該模塊的layout的配置文件和phtml頁面內容,針對gallery這個模塊來講,我們的目錄結構應該像這樣: /app/design/frontend/default/<%theme%>/layout/gallery.xml /app/design/frontend/default/<%theme%>/template/gallery/ leftMenu.pthml rightContent.pthml
…… #2目錄主要放置模塊所需要的css以及頁面的images 例如gallery模塊所需要的css文件:/skin/frontend/default/<%theme%>/css/gallery.css 如何在gallery模塊中調用該css文件呢,在gallery.xml文件中設置如下: <reference name="head"> <action method="addCss"><stylesheet>gallery.css</stylesheet></action> </reference> 另外,如果模塊需要相應的js文件,我們可以把這些JS文件放置於目錄:/js/<%custom_directory%>, 在gallery.xml文件中調用如下: <reference name="head"> <action method="addJs"><script>custom_direcotry/gallery.js</script></action> </reference> 其實,要快速高效的開發一個Magento站點,離不開UI人員和developer的緊密融洽的合作,而Magento的模塊化設計,給UI人員的切圖水平提出更高的要求,歸納為兩點: 1.,以程序化的思維來切圖 2,頁面布局的模塊化 在這里我不是特別推薦採用960grid框架來創建Magento的html頁面,但是一定要按照模塊化的方式來切圖,簡單說明就是,如果copy一個頁面的left column的navigation 到其他頁面的任何位置,只要我們添加了對應的css內容,那麼該navigation部分就應該正確顯示,而不是因為脫離了原頁面的布局結構而壞掉!
2、magento 頁怎麼調用css?
一、引用css的幾種方法
Magento的CSS文件一般存放到 $MAGENTO_INSTALLED_FOLDER/skin/{frontend | admin | install}/<package name>/<theme name>/css目錄下。也有些和全局js腳本配合使用的css文件存放在$MAGENTO_INSTALLED_FOLDER/js下,但是一 般我們不直接調用它們。
那麼Magento應用又是如何引用CSS文件的呢?
1、 最一般的方法是配置全局block. 在page.xml中有
12345678<default> <block type="page/html" name="root" output="toHtml" template="page/3columns.phtml"> <block type="page/html_head" name="head" as="head"> <action method="addCss"><stylesheet>css/menu.css</stylesheet></action> <action method="addItem"><type>skin_css</type><name>css/iestyles.css</name><params/><if>IE</if></action> </block> </block> </default>
可以根據瀏覽器版本有條件地包含.css文件。和包含全局js文件不同,這里別忘記相對路徑css/
2、.包含特定Theme包下phtml文件中的css文件:
和頁面中包含js文件一樣,示例如下:
1<link type="text/css" rel="stylesheet" href="<?php echo $this->getSkinUrl('css/reset.css') ?>" media="all"/>注意: getSkinUrl(..)是基於路徑 $MAGENTO_INSTALLED_FOLDER/skin/{frontend | admin | install}/<package name>/<theme name>/的,所以別忘記了路徑css/。
二、引用js的幾種方法
Magento的JS文件存放有兩個地方:
1). 系統級別的js目錄位置 : $MAGENTO_INSTALLED_FOLDER/js,該目錄下也存放相應js功能的css文件。
2). 特定於某套頁面風格的目錄下: $MAGENTO_INSTALLED_FOLDER/skin/{frontend | admin | install}/<package name>/<theme name>/js
那麼Magento應用又是如何引用這些js文件的呢?
1. 引用系統級別的js文件
1、 最一般的方法是配置全局block. 在page.xml中有
01020304050607080910<default> <block type="page/html" name="root" output="toHtml" template="page/3columns.phtml"> <block type="page/html_head" name="head" as="head"> <action method="addJs"><script>prototype/prototype.js</script></action> .... <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action> </block> </block> </default>
任何使用該template的頁將自動包含$MAGENTO_INSTALLED_FOLDER/js/prototype目錄下的prototype.js文件,根據瀏覽器版本有條件地載入js文件
2、在頁面文件里包含系統級js文件
1<script type="text/javascript" src="<?php echo $this->getJsUrl('varien/accordion.js') ?>"></script>
一個Helper類做同樣事情,該方法主要用來在某些頁麵包含額外的js文件。而這些文件在其他頁面中卻不常使用。下面是例子
1<?php echo $this->helper('core/js')->includeScript('varien/accordion.js') ?>
3、在Block類中使用下面的代碼
將在page.xml中的名稱為"head"的Block中說明的包含js的基礎上,繼續包含$MAGENTO_INSTALLED_FOLDER/js/mage/adminhtml/sales.js文件。
12345protected function _prepareLayout(){ $this->getLayout()->getBlock('head')->addJs('mage/adminhtml/sales.js'); ..... return parent::_prepareLayout();}
3、magento中newsletter怎麼調用
一、全局調用方法:通過該方法每個頁面都會引用這個JS文件,除非是類似回jQuery這樣的系統文件,不答然不推薦這種方法。文件路徑:/app/design/frontend/default/Your_Template/layout/page.xml你會看到很多類似於addJS這樣的XML代碼
4、magento用什麼開發的
MG是主要是用PHP開發的,框架是ZEND框架,當然前端也用到XML,AJAX,JS,CSS等等
如果想學MG開發的話,像LS說的,的確不容易,但堅持下來就好,加油!
5、如何在magento2中調用站外的JS
一、全局調來用方法:
通過該方法源每個頁面都會引用這個JS文件,除非是類似jQuery這樣的系統文件,不然不推薦這種方法。
文件路徑:/app/design/frontend/default/Your_Template/layout/page.xml
你會看到很多類似於addJS這樣的XML代碼,這是magento的優勢之一,通過XML來配置文件很方便靈活。
如下:<action method="addJs"<scriptvarien/js.js</script</action
<action method="addJs"<scriptvarien/form.js</script</action
<action method="addJs"<scriptvarien/menu.js</script</action
<action method="addJs"<scriptmage/translate.js</script</action
<action method="addJs"<scriptmage/cookies.js</script</action
6、magento 自定義頁怎麼調用css文件?
cms > Manage pages > 你的抄頁面 > Design
加入下面代碼,根據你自己的情況改文件名
<reference name="head">addCss這個action 會自動去找你的主題下面的css/skin.css
7、如何在magento2中調用站外的JS
去sky8g網站,裡面有詳細介紹如何調用外部js
8、magento前台頁面的鏈接如何設置跳轉?
有3種方式:
1、在網站後台指定跳轉鏈接,位置為:後台->catalog->URL Rewrite Management->Add URL Rewrite。如圖:
2、在伺服器級別設置鏈接跳轉
3、在程序中判斷,如果是指定鏈接,再指定使用js或者是php進行跳轉
9、magento怎麼調用cms
1.寫到phtml文件里的的PHP代碼如下:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('your_block_Identifier')->toHtml() ?>
其中setBlockId(『your_block_Identifier』)的參數your_block_Identifier,為你在後台創建static block時填的Identifier值,如下圖
2.在magento後台的CMS中如果要在一個block或page中調用另一個static bloc
10、有誰能告訴我magento放大鏡怎麼弄啊,我弄了好多js都有沖突用不了
找到放大鏡的js,並在jquery代碼下添加這行
jQuery.noConflict();
此外,magento有很多放大鏡的插件,一般都是集成好的。
有問題繼續追問吧