【问题标题】:How can i disable X-cart 5 Flexy template engine and use PHP? [closed]如何禁用 X-cart 5 Flexy 模板引擎并使用 PHP? [关闭]
【发布时间】:2016-01-14 22:11:14
【问题描述】:

Flexy 缺乏文档,也许正因为如此,我真的一点也不喜欢它。我想在我的模块中使用常规 PHP,可能吗? 最好的解决方案是,如果我可以将 PHP 仅用于我的模块,而不是在整个站点范围内应用它。
谢谢。

【问题讨论】:

    标签: php template-engine x-cart


    【解决方案1】:

    尽管不建议这样做,但您绝对可以通过在每个 View 类中重写 display() 方法来做到这一点。 \XLite\View\AView 类中描述了基本实现。您可以在 View 类中覆盖它以在缓冲区中打印自定义 php 脚本的输出,如下所示:

    public function display($template = null)
    {
        include 'custom_php_template.php';
    }
    

    虽然具有类似内容的“custom_php_template.php”:

    <?php
    echo 'Hello world';
    

    请注意,这只是一个简单的例子,真正的逻辑可能要复杂得多。此外,通过使用这种方法,您可能需要自己创建或调整现有的缓存解决方案和其他东西。

    【讨论】:

    • 谢谢!我认为,您的回答帮助我找到了正确的方法。 A 这样做了:在 getDefaultTemplate() 函数中,我将 return$path.'body.tpl' 替换为 $path.'body.php'。然后我从 AView 类中获取 display() 函数,注释掉这一行:$compiled = \XLite\Singletons::$handler-&gt;flexy-&gt;prepare($normalized); 并将行从 include $compiled; 更改为 include $normalized;。现在看起来还可以。再次感谢您!
    • 干得好,@shance!你比我的榜样更上一层楼,做了正确的事。
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2010-12-03
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多