2011-02-02 13 views
2

私は本当に単純な要件がありますが、それに対して良い解決策を見つけることはできません。javascriptファイルに設定データを取得する - magento

どのように私はmagento内のjavascriptファイルに設定データを取得しますか?私はモジュールからいくつかの設定データを読み込み、いくつかのjavascriptコードの中から利用可能にする必要があります。このデータをページの隠しフィールドにロードせずに、またはコントローラからフェッチするためにajaxを使用することなく、どうすればいいですか?

ご協力いただきありがとうございます。

答えて

0

その後
<script type="text/javascript">var var_name = <?php echo $var_name; ?></script> 

あなたfile.jsで

<script type="text/javascript" src="/js/file.js"></script> 

(ファイルが後にロードされていることを提供するようにJSで読み込むことができます...あなたはJSをロードする前にこのコードを追加します。あなたが何かのような...

//execute as soon as DOM is loaded 
window.onDomReady(onReady); 

//do on ready 
function onReady() 
{ 
    alert(var_name); 
} 

それとも、jQueryの

012を使用していた場合に行うことができます変数定義)
$(document).ready(function(){ alert(var_name); } 
2

あなたはこのように探している値をつかむことができます:あなたのコードをエコーするテンプレートでこれを入れて

// using seo as an example. look at the path field on core_config_data 
$value = Mage::getStoreConfig("web/seo/use_rewrites"); 

を:

<?php 
$seo_value = Mage::getStoreConfig("web/seo/use_rewrites"); 
?> 
<script type='text/javascript'> 
magento_config = {} 
magento_config['seo_value'] = "<?php print $seo_value; ?>"; 
// ... add more ... 

</script> 

があなたのレイアウトにそのテンプレートを追加し、値を取得するために使用できるmagento_configというグローバルなJSオブジェクトが作成されます。テンプレートの配置場所によっては、変数が利用可能になる前にページが読み込まれるまで待つ必要があるかもしれません。

これらの値を無差別にエコーしないようにしてください。ストア設定データをフロントエンドにエコーする際にセキュリティ上の問題があるかもしれません。

希望に役立ちます!

ありがとう、 ジョー

関連する問題