2011-02-22 72 views
3

首先,我必須爲我對這個主題缺乏瞭解而道歉。對於Magento,我還是個新手,並且根據我所遇到的信息,我應該能夠做到這一點。我從here開始。我能夠獲得Ajax方法來打電話,但我得到一個空白的2column-left.phtml作爲我的輸出(所以我看到了標題,左列,空白主列和頁腳)。我有我的文件設置爲這樣:Magento:從Ajax調用模板時呈現空白頁

應用程序/本地/ MyModule的/精選/座/ Featured.php

​​

應用程序/本地/ MyModule的/推薦/控制器/ FeaturedController.php

<?php 
class MyModule_Featured_FeaturedController extends Mage_Core_Controller_Front_Action 
{ 
    public function displayAction() 
    { 
     $this->loadLayout()->renderLayout(); 
    } 
} 
?> 

應用程序/本地/ MyModule的/推薦的/ etc/config.xml中

<config> 
    <modules> 
     <MyModule_Featured> 
      <version>0.1.0</version> 
     </MyModule_Featured> 
    </modules> 
    <frontend> 
     <routers> 
      <featured> 
       <use>standard</use> 
       <args> 
        <module>MyModule_Featured</module> 
        <frontName>featured</frontName> 
       </args> 
      </featured> 
     </routers> 
    </frontend> 
</config> 

應用程序/設計/前端/默認/ myLayout /佈局/本地.XML

<config> 
    <featured_featured_display> 
     <block type="module/block" name="root" output="toHtml" template="catalog/product/featured.phtml" /> 
    </featured_featured_display> 
</config> 

Ajax代碼在首頁定製PHTML:

var url = "<?php echo $this->getUrl('featured/featured/display') ;?>"; 
jQuery(document).ready(function() { 
    jQuery('#featured-products').load(url); 
}); 
+1

添加布局聲明中''標籤: ' <模塊模塊= 「MODULE_NAME」> your_directory/layout.xml ' – xyz 2011-02-24 21:39:30

回答

4

我相信,佈局文件的根節點應該是<layout>而不是<config>

P.S.
如果你想不使用jQuery - 爲了避免膨脹 - Magento已經有Prototype作爲標準,可以做到完全一樣。

var url = "<?php echo $this->getUrl('featured/featured/display') ?>"; 
document.observer('dom:loaded', function(){ 
    new Ajax.Updater('featured-products', url); 
}); 

+0

感謝您的頭部的向上在Prototype語法上!不幸的是,在將配置更改爲佈局後,我仍然得到相同的輸出。 – csm232s 2011-02-22 23:18:23

0

負載佈局包括默認的手柄正常,所以我的猜測是,你的任務沒有任何影響,因爲有一個根音被已經加載。先嚐試刪除根節點,然後將其添加回爲唯一節點。