将Opencart .tpl转换为.twig

时间:2017-11-08 11:19:44

标签: php symfony twig

我目前正在尝试将一些代码添加到我已经使用PHP的Twig文件中。 根据{{​​3}}进行了一些更改,但仍然无法使其正常工作。 这是使用php的.tpl文件:

<?php foreach (array('catalog'=>'frontend', 'admin'=>'backend') as $k=>$v ) { ?>
    <label class="btn btn-default <?php if($interface==$k){ echo 'active'; } ?>">
    <input type="radio" name="interface" value="<?php e($k); ?>" autocomplete="off" <?php if($interface=="$k"){ echo 'checked'; } ?>> <?php e(${'tab_'.$v}); ?>
    </label>
?>

进入这个:

{% for k,v in array_path %}
catalog: {{frontend}}
admin: {{ backend }}
<label class="btn btn-default  {% if interface == k %} {{ active }} {% endif %} >
    <input type="radio" name="interface" value="{{ k }}" autocomplete="off" {% if interface == k %} {{ checked }} {% endif %}> {{tab_.v}}
</label>

和另一个expression

<?php e($page == '_main_lang_file' ? $text_main_lang_file : $page); ?> 
<?php 
    echo (isset($translations[$l['directory']]) && $translations[$l['directory']] != '') ? 
    hs($translations[$l['directory']]) : '<span class="notTranslatedSpan text-danger">'.h($text_not_translated).'</span>';
?>

进入这个:

{{ page == '_main_lang_file' ? text_main_lang_file : page }}
{% translations l.directory && translations l.directory != '') ? 
    hs translations l.directory : '<span class="notTranslatedSpan text-danger">'.h text_not_translated'</span>'} %}

但我无法理解究竟应该做些什么来使其发挥作用。

2 个答案:

答案 0 :(得分:0)

免费资源:

1 openconverter.io-在线转换器,仅在某些情况下有效。

2 https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=29835-Twig Manager(为您的Opencart 2.x添加了.twig支持)-在opencart 2.x版本中使用twig主题。

3 https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=31589-OpenCart模板切换器。

报价:启用此模块后,OpenCart会根据模板文件扩展名(例如'.tpl','。twig','。smarty'等)自动检测正确的模板引擎。

扩展和Web主题现在可以同时使用PHP模板和Twig模板。这使开发人员可以轻松地将带有PHP模板(* .tpl文件)的旧OC 2.x Web主题移植到新的OC 3.0.x版本。

答案 1 :(得分:-1)

您的Twig语法可能存在一些问题。 如果您了解以前的OpenCart版本的工作原理,请查看这些examples