皆さん。
私は解決策を探してきましたが、必要なものの断片しか得られません。フッターに追加のコンテンツを表示しようとしています。このコンテンツは、フッター リンクをクリックすると表示されます。次のようなコードで簡単に実行できます。
<!-- 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);
どんな助けでも大歓迎です。