2016-04-15 10 views
1

Prestashopでカスタムモジュールを作成しています。そのモジュールでは、jsファイルの中で自分のphp変数を使いたいと思っています。どのようにjsファイルの値にアクセスできますか?変数をスマートなファイルに渡したくありません。 jsファイルがヘッダーにフックされます。だから、誰かがヘッダーにフックされている外部のjsファイルにPHPの値を渡すために私に言ったことができますか?ヘッダーにフックされているjsファイルのPrestashopアクセスPHP変数?

本当にありがとうございます。ありがとう

+0

を行う方法ですが、PHPから変数を取得するための唯一の他の方法は、どの変数を取得するためのAJAXリクエストを作ることですコメント余裕があります。 – defuzed

+0

@defuzedありがとうございます。しかし、私のjsファイルは、私のスマートなファイルの中にないということを意味する外部ファイルです。どうすれば値を渡すことができますか? – NewUser

答えて

-1

あなたはそれをやりたくないのに(なぜ?)、あなたはそれをSmartyに渡す必要があります。あなたはグローバルfoo変数を使用することができ、あなたのJavaScriptファイルに

<script type="text/javascript"> 
    var foo = "{$foo|escape:'htmlall':'UTF-8'}"; 
</script> 

そして:あなたはすでにモジュールdisplayHeaderフックにフック、それは次のようになり

public function hookDisplayHeader($params) 
{ 
    $this->context->controller->addJS($this->getPathUri().'views/js/%your_js_file%.js'); 

    $this->context->smarty->assign('foo', 'bar'); 

    return $this->display(__FILE__, 'header.tpl'); 
} 

あなたheader.tplの問題です。

3

は、ここで私はSmartyの変数として渡すことをお勧め単一の変数のためにそれを

Media::addJsDef(array('var_name' => $variable)); 
関連する問題