0

我想为前端 magento 中的用户配置文件选项卡创建 ajax 更新选项卡,例如产品管理中的类别选项卡。我正在使用此代码:

<ul id="page_tabs" class="tabs"> 
    <li>
        <a id="page_tabs_account" class="tab-item-link ajax active" href="http://localhost/magento/customer/account/" name="account">Account Dashboard</a>
    </li>
    <li>
        <a id="page_tabs_account_edit" class="tab-item-link ajax notloaded" href="http://localhost/magento/customer/account/edit/" name="account_edit">Account Information</a>
   </li>
</ul>

<script>
    var FORM_KEY="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>";
    var varienGlobalEvents=false;
    page_tabsJsTabs = new varienTabs('page_tabs', 'tabcontainer', 'page_tabs_account',[]);
</script>

还要在 page.xml 中添加 js 文件,例如:

 <action method="addJs"><script>mage/adminhtml/tabs.js</script></action>

当我们单击选项卡时,会调用 ajax,但返回数据是整个页面数据,如页眉、页脚、左侧边栏。我们只想要分配.phtml文件数据的特定选项卡(右侧栏)。

那么我们如何得到它。如果其他方法很简单,请告诉我。

谢谢。

4

1 回答 1

0

您需要创建一个处理 AJAX 布局的自定义控制器。

请注意,varienTabs 将获取href链接上设置的页面。拥有http://localhost/magento/customer/account/标签链接将使 varienTabs 只获取该 URL 的内容。

此外,您将需要特殊标记来发布内容。应该有一个 div,其 ID 由您的选项卡链接 ID + '_content' 的 ID 组成。例如:

<div id="page_tabs_account_content" style="display: none;"></div>
<div id="page_tabs_account_edit_content" style="display: none;"></div>

(编辑)你也需要'tabcontainer' div。它是传递给 varienTabs 函数的第二个参数。只需将上面的 div 包裹在上面即可。

于 2013-04-26T17:13:41.633 回答