查看: 1999|回复: 0

[PHP学习] opencart3、mycncart2升级后,如何快速由tpl转成twig

发表于 2018-1-14 16:00:00

opencart3或者mycncart2升级后,发现改变挺大的,至少模板引擎变了,由tpl变成twig,个人觉得升级到twig是一大进步,毕竟twig比tpl简单很多,代码也简洁很多。

那么问题来了,如果原来有的插件如何快速转成twig,毕竟很多插件都不是官方的,如果插件的作者没有升级插件,那么就必须自己升级。

声明:此替换只是升级twig,不涉及controller及其他的升级,也就是说我们说的view。

首先你需要准备编辑器,subtext或者nodepad++或者phpStorm等等,只要能搜索替换就行。

示例:
需要打开搜索和替换,之后要开启正则表达式模式,之后输入
1.将页面所有的转换,

  1. 搜索:<\?php\secho\s\$(.*?);.*?>
  2. 替换:{{ $1 }}
复制代码

2.将页面所有的转换,下面的转换有空格,如果没有空格就把\s删掉

  1. 搜索:<\?php\sif\(\$(.*?)\s==\s(.*?)\{.*?>>
  2. 替换:{% if $1 == $2 %}
复制代码

3.将页面所有的转换,如果没有空格则把\s删掉

  1. 搜索:<\?php\sforeach\(\$(.*?)\sas\s(.*?)\).*?>
  2. 替换:{% for $2 in $1 %}
复制代码

页面大概最多就是上面的变量,虽然能替换大多数,但是也有一些比较难替换,这些需要在上面的基础上做修改。还有一点要注意,替换了if或者for等循环判断,需要注意结束的标志,我改的时候经常会忘了这个东西。当你替换完成,使用来看看是否所有都替换成功。

如果还有其他替换问题,欢迎留言。



回复

使用道具 举报