2009-10-23 39 views
1

我一直在一個愚蠢的情況下掙扎。一位客戶要求我改變他的「高級搜索」頁面以添加一些選項。這個網頁的URL是http://www.domainname.com/index.php/catalogsearch/advanced/您如何找到您在Magento中尋找的代碼塊?

這是一個Magento商店,我沒有這個框架的經驗。我試圖學習它,但發現學習曲線太陡,無法獲得足夠的知識來按時完成項目。

因此,我首先製作了一個小型PHP工具,用於在所有源文件中搜索搜索詞並報告返回的點擊次數。我使用此工具查找出現在高級搜索頁面上的唯一字符串。但文字無處可尋!

我的下一次嘗試是查看數據庫以查找字符串。所以我導出了所有數據庫數據並將結果查詢複製到我的代碼編輯器中,然後再次搜索,結果什麼都沒發現

這非常尷尬,讓我很生氣。我無法找到輸出高級搜索選項的代碼塊!

'任何'的幫助將非常感激。

感謝, 馬吉德

回答

1

Magento中的URL告訴你模板文件在哪裏用於某個模塊。

例如,當您在尋找catalogsearch/advanced/時,所有模板文件都位於應用程序/design/frontend/default/your-theme/中。

看看裏面的文件夾,它應該是顯而易見的。您將擁有一個名爲catalogsearch的文件夾,並在其中包含一個名爲advanced的文件夾;這裏面有兩個文件:

  • form.phtml
  • result.phtml
+0

謝謝Fishpig!我在您的幫助中發現了兩件事 - 1.我正在查找的文件和 2.爲什麼我找不到該工具 - 它只檢查.php和.html文件! –

+0

冒着被冒充的危險,我的商業Magento擴展可以真正幫助你爬上這個學習曲線。 http://commercebugdemo.pulsestorm.net上有免費的在線演示 –

6

到目前爲止,我已經使用上的本地dev的框下面的戰術 - 不要嘗試這種在住的店裏明顯!:在模板路徑

  1. 打開系統提示+塊名稱 - >配置 - >開發者。這會讓你到達最終渲染的phtml文件以及它使用的塊對象類型。除非你限制IP,否則每個訪問者都會看到這些!
  2. 然後在phtml文件中進一步挖掘,您可以輕鬆Zend_Debug :: dump($ var)來檢查有問題的變量/對象並找到對象類型等。
  3. 在您的編輯器中搜索或grep through/app /代碼目錄來查找哪些文件定義了您剛剛找到的對象類型 - 雖然它基於Zend,但大部分時間都可以從對象類中找到正確的文件路徑。

而且

  • 一個方便的竅門是在一個PHP/PHTML文件故意插入錯誤,Magento的爲您提供了一個調用棧這是有趣的閱讀
  • 回聲(一個很好的格式化錯誤屏幕)在覈心文件中的語句通常工作得很好,在Magento中設置它們通常不會觸發在錯誤時間發送的html頭文件
  • 使用NetBeans/Eclipse/Zend工作室等IDE,並將所有將Magento代碼放入您的項目中,由此產生的phpdoc信息'open de claration「和代碼助手將會爲您節省數小時的搜索時間
  • 花費時間讓您的測試服務器上的Xdebug能夠使用IDE來讓您使用它。我發現從頭開始設置的最簡單的一個(在Mac上)是使用Netbeans作爲IDE的本地Mamp安裝--Netbeans站點將引導您完成此任務,一旦您擁有了這個工作,您可以忘記大部分其他技巧!

這些只是我迄今試過的東西 - 請提供更多建議! 我還沒有找到一種技術,可以從Magento使用的大量XML文件中的XML問題中調試配置問題,這裏的問題往往默默無聞,因此很難追蹤到,因此xml文檔很糟糕。

+0

謝謝奔馳。我會多次重新閱讀您的答案以瞭解它。目前,我在Magento非常天真,你的建議對我來說太過先進。但我會隨着時間的推移學習,並嘗試一些你所建議的技巧。 –

相關問題