2013-10-30 7 views
5

Czy mogę pobrać parametry globalne w javascriptie plików?pobierz parameters.yml w javascript

mam na przykład

twitter.app_secret: my_token 

jak mogę je odzyskać w pliku JavaScript?

teraz używam tego

<script type="text/javascript"> 
    var app_assoluto = '{{ app.request.getSchemeAndHttpHost() }}'; 
    var consumer_key_twitter = '{{ twitter_app_id }}'; 
    var consumer_secret_twitter = '{{ twitter_app_secret }}'; 
    var access_token_twitter = '{{ twitter_access_token }}'; 
    var access_token_secret_twitter = '{{ twitter_token_secret }}'; 
    var facebook_app_id = '{{ facebook_app_id }}'; 
    var env = '{{ app.environment }}'; 
</script> 

jak również parametry {{app.request.getSchemeAndHttpHost()}}

istnieje lepsze rozwiązanie do pobrania tego param ??

Odpowiedz

2

Zauważyłem, że używasz szablonów gałązek. Tak, można dokonać parametry jak gałązka globals tak:

# app/config/config.yml 
twig: 
    # ... 
    globals: 
     key: "%your_value%" 

A w szablonach masz dostęp do key poprzez {{ key }}

UPDATE

Jeśli używasz jQuery, można zrobić w ten sposób:

# template.html.twig 
<script> 
    var params = params || {}; 
    $.extend(params, { 
     twitterAppId: '{{ twitter_app_id }}' 
    }); 
</script> 

i w pliku JS:

# script.js 
(function() { 
    params = params || {}; 
    twitterAppId = params.twitterAppId ||{}; 
)(); 

Mam nadzieję, że to pomoże.

+0

używać globalnych, twitter_app_id jest globalnym var jak gałązka: globalne: twitter_app_id: "% twitter.app.id%" ale jeśli chcę odzyskać {{}} twitter_app_id w javascript? – Barno

+0

@Barno Zaktualizowałem swoją odpowiedź. Sprawdź to proszę. – NHG

+0

wielkie dzięki, muszę przejść w gałązkę? – Barno

Powiązane problemy