在Magento客户帐户导航上使用jQuery Block UI.链接



我遇到了一个关于Magento、jQuery和jQuery Block UI的令人困惑的问题。您知道客户访问其客户帐户时出现的导航链接吗?那些是通过XML创建的?

好吧,我试图专门针对其中两个,以便在数据库处于最佳状态时创建一个jQuery Block UI加载动画。我已经启动并运行了jQuery和jQuery Block UI,现在需要某种方法来在屏幕上显示这个消息/animation/Block/ajaxloader,从用户单击其中一个特定链接到所有内容都已完全加载。或者我可以把代码放在我试图加载的页面上,这样我就不必担心它们来自哪里。然而,我不确定如何通过jQuery实现这一点。我目前没有进行ajax调用来加载数据(我知道如果我使用ajax,这可能会更简单)。

有什么想法吗?

更新:

谢谢@JaredKipe,但这似乎并不能实现我的目标。以下是我在head.phtml中放置的jQuery和Block UI,以及您描述的代码。

 <script type="text/javascript"   src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="<?php echo $this->getJsUrl('jqueryBlockUI/jquery.blockUI.js') ?>"></script>
<script type="text/javascript">
    //<![CDATA[
    var $j = jQuery.noConflict();
    //]]>
</script>
<script>
    $j(function () {
            $j('.block-account li:not(.current)').click(function () {
            $j.blockUI();
        });
    });
</script>
<?php echo $this->getCssJsHtml() ?>

这就是控制器加载页面的样子。

 public function orderhistoryAction()
{
    if ($this->_getCustomerSession()->isLoggedIn()) {
        $this->loadLayout();
        $this->renderLayout();
    } else {
        $this->_redirect('customer/account/login');
    }
}

显然,块是从布局xml文件加载的,但我不确定在加载/创建块时如何显示jQuery block UI(或其他类型的加载消息)。

同样,我对Magento框架还是个新手。感谢任何人提供的帮助!

我从未听说过jQuery BlockUI,但文档似乎让它直截了当。

jQuery('.block-account li:not(.current)').click(function () {jQuery.blockUI();});

应该做这个把戏。这为所有"帐户"链接(当前链接除外)添加了一个点击事件,这些链接不会阻止实际页面加载,但会激活神奇的"$.blockUI()",这将阻止用户与页面交互,直到服务器发布响应。AJAX在这里是不需要的,尽管它可能是需要的。。。

最新更新