2014-03-04 40 views
0

我遵循此(第一條評論), magento - category name and image in static block?來創建一個簡單的小部件來顯示CMS頁面上的靜態塊的類別圖像和標題。它在我的本地MAMP版本的Magento Enterprise 1.13.0.2上正常工作。它不能在舞臺/測試環境Magento 1.13.1.0上運行。 (Ubuntu的)。Magento自定義類別小部件沒有出現在舞臺服務器

它沒有錯誤,就好像它忽略了模板文件(info.phtml)。當我恢復到默認主題時,我意識到我必須將模板文件複製到默認企業文件夾才能使其工作,但它確實(本地版本)。我已確保模板文件夾位於每個主題,基本,企業(默認),MyTheme(默認(這是企業默認值)&(MyTheme/MyThemeVariant))。

在本地和舞臺上看起來不同的唯一設置/配置是漂亮的url不在本地工作。我看了一下htaccess,它仍然沒有解決。在這兩個版本的本地類別鏈接小工具不工作,但我不知道,如果這是相關的。

我禁用了任何擴展關閉緩存並清除索引。依然沒有。

我一直在尋找的答案,我折回步驟,改變和變回我認爲可能是相關的3天任意設置(S),所以我現在是好卡。任何人都可以提供嘗試我會放棄它。

+0

你是說小部件在暫存服務器的後端完美工作?您可以將其添加到CMS內容,是嗎?但是當你看到前端沒有顯示小部件時,意味着info.phtml文件存在問題? (但這是Magento,所以這並不意味着phtml文件有問題)。企業有幾個我認爲不同的緩存(標準頁和整頁),並且您的登臺Web服務器也可能有一些緩存。 – Malachy

+0

感謝您的留言Malachy,對於遲到的回覆感到抱歉,我剛剛看到了這一點。你已經正確地理解了這種情況。我禁用了緩存管理下的所有緩存。我需要看看其他緩存嗎? – dwooo

回答

0

問題是「Block」php文件的第一個字母是小寫。我將它從info.php更改爲Info.php,現在一切正常。

這是Magento最令人沮喪的調查。我唯一希望的是,它可以節省一些人的痛苦。

0

所以在Magento企業也有一個完整的頁面緩存,您可以通過Magento管理這裏訪問:系統 - >配置 - >系統 - >高級 - >外部整頁緩存設置。

在頁面系統 - >緩存管理,以及禁用所有緩存,你應該沖洗Magento的緩存和緩存存儲。

你可能有所謂的Redis或APC一個「緩存」,但我不認爲這會影響一個.phtml輸出。如果你可以訪問後端的Widget,我不認爲這些項目是問題。

您的Web服務器可能有一個完整的頁面緩存如漆,但我不知道如何使用它,或者打開或關閉它。

理論上你的網絡服務器標題可能會說「這個頁面不會更新那麼互聯網服務提供商可以存儲的本地副本中的高速緩存」 - 但我會感到驚訝,如果是這樣的話(檢查你的頭和檢查Cache-controlExpiresLast-modifed標題,如果你想消除這種可能性)。

您的瀏覽器可能有它自己的小緩存(你可以從你的瀏覽器設置清除)。

如果它不是一個緩存問題,以我的經驗.phtml文件會跳過,如果他們有PHP錯誤,但你有它的本地開發服務器上工作。它可能是一個文件權限問題?它可能是你的服務器上的小部件中的一個設置,它不是由你的小部件.phtml處理的嗎?作爲最後的勝地,嘗試將你的小部件.phtml更改爲一個非常簡單的文件,如<?php echo('test PHP output'); ?>,然後看看是否呈現 - 嘗試將小部件放置在不同的頁面上(即不會在任何地方緩存的新頁面),並查看是否獲得了所有內容。

您是否可能與另一個模塊有名稱空間衝突?例如,一個XML文件正在改變您設置.phtml模板的小部件塊XML名稱?您的widget.xml文件是否聲明<supported_blocks>...</supported_blocks>這可能會排除您嘗試呈現小部件的塊?

還有什麼?你提到這個小部件顯示的是分類信息:你是指分級服務器上存在的分類嗎?它可能具有與您的開發服務器不同的類別ID和/或檢查該類別在網站和商店中可見。

好吧,我想我現在已經沒有想法了。