0

皆さん。

私は解決策を探してきましたが、必要なものの断片しか得られません。フッターに追加のコンテンツを表示しようとしています。このコンテンツは、フッター リンクをクリックすると表示されます。次のようなコードで簡単に実行できます。

<!-- TRIGGER -->
<li><a href="javascript:void(0);" onclick="return abreInfo();">Sobre</a></li>

<!-- CONTAINER -->
<div id="infoShow">
    <section> ... </section>
</div>

<!-- SCRIPT -->
<script type="text/javascript">

function abreInfo(id) {
    jQuery("#infoShow").slideDown('fast', function () {
        jQuery('html,body').animate({ scrollTop: jQuery("#infoShow").offset().top -54 }, 200);
    });
}
</script>

これは実際には必要なものではありませんが。セクション内のコンテンツは CMS 静的ブロックである必要があり、ユーザーがクリックするフッター リンクに従って複数の静的ブロックを読み込む必要があるため (私がしようとしているのは、フッター リンクの AJAX 呼び出しです) 、「概要」、「支払い方法」、「配送情報」など)。残念ながら、知識は私をこの種のスクリプトに導きます:

function abreInfo(id) {
    jQuery("#infoShow").slideDown('fast', function () {
        jQuery('html,body').animate({ scrollTop: jQuery("#infoShow").offset().top -54 }, 200);
            jQuery("#infoShow>section").load("<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('" + id + "')->toHtml() ?>", function () { 
        });
    });
}

しかし、ご覧のとおり、JavaScript 内で php エコーを使用して、すべてのスクリプトを無効にしています。私が解決できないのは、「a」要素をクリックしてjavascript関数に出力することにより、CMS静的ブロックIDを取得する方法です。

Web を見ると、役立つコードが見つかりましたが、それを処理する方法がよくわかりません。

$block_identifier = $_GET['id'];
$block = Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($block_identifier);

どんな助けでも大歓迎です。

4

1 に答える 1