继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

opencart3、mycncart2升级后,如何快速由tpl转成twig

css基地
关注TA
已关注
手记 3
粉丝 0
获赞 3

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

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

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

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

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

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

2.将页面所有的<?php if($demo == 1) { ?>转换,下面的转换有空格,如果没有空格就把\s删掉

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

3.将页面所有的<?php foreach($lists as $list){ ?>转换,如果没有空格则把\s删掉

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

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

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP