2017-10-03 4 views
0

Ich versuche gerade, Code zu Twig-Datei hinzuzufügen, die ich bereits mit PHP verwende.Wie konvertiert man PHP-Code in Twig-Code?

Es gibt einen Online-Konverter von PHP zu Twig, aber es funktioniert nicht. Hier ist, was ich mit diesem Konverter erhalten, Umwandlung:

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

dazu:

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

und diese:

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

dazu:

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

Aber ich kann nicht verstehen, was genau tun sollte, um es zu machen Arbeit.

+2

Haben Sie versucht, das zu tun, ohne zu verwenden einige "Online-Konverter" und stattdessen zum Beispiel Zweigdokumente verwenden? – ArtOsi

+0

Ich werde für die Zukunft im Auge behalten. –

Antwort

1

Für die erste Zeile, verwenden set eine Variable zu definieren:

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

Noch besser wäre es, verwenden Sie die ternary operator:

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

Für die zweite Ersetzen nur <?php echo $...; ?> von {{...}}:

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();" 
+0

Das 'set' ist jedoch ungültig.' {% If expr%} {% gesetzt cur_ = foo%} {% else%} {% gesetzt cur_ = bar%} {% endif%} 'oder' {% set cur_ = Ausdruck? foo: bar%} ' – DarkBee

+0

Ja, du hast Recht, ich werde bearbeiten. – Veve

+0

Könnten Sie mir mit diesem PHP-Code helfen? Es verwirrt mich. Ich lese online, wie man konvertiert, aber dieses scheint kompliziert und ich kann es nicht arbeiten lassen. 'Frontend', 'Admin' => 'Backend') als $ k => $ v) {?> 'Frontend', 'Admin' => 'Backend') als $ k => $ v)?> –

Verwandte Themen