0

Magento、jQuery、および jQuery Block UI に関連するかなり混乱する問題があります。顧客が顧客アカウントにアクセスするときに表示されるナビゲーション リンクを知っていますか? XML 経由で作成されたものは?

さて、データベースが甘い時間を費やしている間、jQuery Block UI のロードアニメーションを作成するために、そのうちの 2 つを特にターゲットにしようとしています。私はjQueryとjQuery Block UIを稼働させており、ユーザーがこれらの特定のリンクの1つをクリックした瞬間からすべてが完全に読み込まれた瞬間まで、このメッセージ/アニメーション/ブロック/ajaxloaderを画面に表示する必要があります。または、読み込もうとしているページにコードを配置して、コードがどこから来ているかを心配する必要がないようにすることもできます。ただし、jQuery を使用してこれをどのように達成できるかはわかりません。私は現在、データをロードするために ajax 呼び出しを行っていません (また、ajax を使用する場合は、これがより簡単になる可能性があることを理解しています)。

何か案は?

アップデート:

@JaredKipeに感謝しますが、私の目標を達成していないようです。head.phtml 内の jQuery とブロック 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 ブロック UI (またはその他の種類のロード メッセージ) を表示する方法がわかりません。

繰り返しますが、私は Magento フレームワークに非常に慣れていません。誰でも提供できる助けをありがとう!

4

1 に答える 1

0

jQuery BlockUIについて聞いたことがありませんが、ドキュメントによって簡単に理解できるようです。

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

トリックを行う必要があります。これにより、実際のページの読み込みをブロックしないすべての「アカウント」リンク(現在のリンクを除く)にクリックイベントが追加されますが、ユーザーがサーバーが応答を投稿するまでページ。ここではAJAXは必要ありませんが、必要な場合があります...

于 2013-02-15T05:39:09.087 に答える