AJAX 経由で静的ブロックを呼び出そうとしています。テキストを正常に取得できますが、画像は {{ }} テンプレート形式から実際の画像パスに処理されず、CMS で記述されたとおりに表示されます。
{{media url="wysiwyg/groups-scenes-associations-c-296_367.jpeg"}}
これは、CMS ページまたは phtml ファイルでブロックを通常参照する場合ではなく、この AJAX メソッドを介してブロックを取得する場合にのみ発生します。
だから私は基本的に私が作成したスクリプトに GET リクエストを作成しています。これは Magento のインスタンスを起動し、ブロック HTML を呼び出し、それをエコーして元の呼び出し元の JavaScript に戻ります。
AJAX リクエストを処理するスクリプト:
require_once('../app/Mage.php');
umask(0);
Mage::app();
$block_identifier = 'delivery_country_' . $_GET['iso_country'];
$staticBlock = Mage::getModel('cms/block')->load($block_identifier);
echo $staticBlock->getContent();
CMS 静的ブロックの内容
<div class="delivery-panes">
<div class="delivery-left-pane"><img src="{{media url="wysiwyg/groups-scenes-associations-c-296_367.jpeg"}}" alt="" /></div>
<div class="delivery-right-pane">
<h2>France</h2>
<p>FR Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean dignissim tempus vestibulum. Quisque tempor velit sed enim hendrerit vehicula. Donec egestas iaculis risus in bibendum. Ut est nisi, semper ac adipiscing ut, hendrerit faucibus metus. Nam mollis velit non purus congue sagittis. Phasellus sit amet felis in leo ultricies vehicula sit amet nec libero. Sed ultricies metus et quam scelerisque auctor. Vivamus et consequat orci.</p>
</div>
</div>
スクリプトの完全な応答
<div class="delivery-left-pane"><img src="{{media url="wysiwyg/groups-scenes-associations-c-296_367.jpeg"}}" alt="" /></div>
<div class="delivery-right-pane">
<h2>France</h2>
<p>FR Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean dignissim tempus vestibulum. Quisque tempor velit sed enim hendrerit vehicula. Donec egestas iaculis risus in bibendum. Ut est nisi, semper ac adipiscing ut, hendrerit faucibus metus. Nam mollis velit non purus congue sagittis. Phasellus sit amet felis in leo ultricies vehicula sit amet nec libero. Sed ultricies metus et quam scelerisque auctor. Vivamus et consequat orci.</p>
</div>
</div>
私の AJAX アプローチでは、画像が適切なパスとファイル名に処理されるのではなく、上記の未処理の {{ }} 文字列として返されるのはなぜですか? つまり、{{ }} を画像ファイル名に変換します。