简体   繁体   中英

How to convert PHP code to Twig code?

I am currently trying to add some code to Twig file that I already use with PHP.

There is an online converter from PHP to Twig, but it doesn't do the job. Here is what I get with this converter, converting:

 { if($language['code'] == 'bg') {$cur_ = 'BGN';} else {$cur_ = 'USD'; }?>

to this:

{% if language.code == 'bg' { cur_ = 'BGN' } else { cur_ = 'USD' }}

and this:

onclick="$('input[name=\'code\']').attr('value', '<?php echo $language['code']; ?>');$('input[name=\'currency_code\']').attr('value', '<?php echo $cur_; ?>');  $(this).parent().parent().submit();"

to this:

onclick="$('input[name=\'code\']').attr('value', '{{ language.code }} ');$('input[name=\'currency_code\']').attr('value', '{{ cur_ }} ');  $(this).parent().parent().submit();"

But I can't understand what exactly should do to make it work.

For the first line, use set to define a variable:

{% if language.code == 'bg' %}
    {% set cur_ = 'BGN' %}
{% else %}
    {% set cur_ = 'USD' %}
{% endif %}

Better yet, use the ternary operator :

{% set cur_ = (language.code == 'bg') ? 'BGN' : 'USD' %}

For the second, just replace <?php echo $...; ?> <?php echo $...; ?> by {{...}} :

onclick="$('input[name=\'code\']').attr('value', '{{ language.code }}');$('input[name=\'currency_code\']').attr('value', '{{ cur_ }}');  $(this).parent().parent().submit();"onclick="$('input[name=\'code\']').attr('value', '{{ language.code }}');$('input[name=\'currency_code\']').attr('value', '{{ cur_ }}');  $(this).parent().parent().submit();"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM