簡體   English   中英

Smarty:如何在模板中包含 php?

[英]Smarty: how to include php in template?

我試過{include_php file="phpfile.php"}{php}標記,但都導致不推薦使用的錯誤。 你不能再在 Smarty 中這樣做嗎? 我在文檔中找不到任何內容。

我繞過了這個問題。 創建一個名為block.php_code.php的插件文件,其中包含此 function:

function smarty_block_php_code($params, $content, &$smarty)
{
    if (is_null($content))
    {
        return;
    }
    if ('<?php' == substr($content,0,5) && '?>' == substr($content, -2))
        $content = substr($content,5,-2);
    ob_start();
    eval($content);
    return ob_get_clean();
}

在您的模板中,您可以編寫:

{php_code}{literal}<?php

    print "Hello, world!";

?>{/literal}{/php_code}

它們被貶值是有原因的,因為它們允許不良做法。 Smarty 建議將包含的腳本放入 PHP 邏輯或創建一個插件(這很簡單)。

{php} 標簽已從 Smarty 中棄用,不應使用。 將您的 PHP 邏輯放在 PHP 腳本或插件函數中。

資源

{include_php} 已從 Smarty 中棄用,請使用已注冊的插件將演示文稿與應用程序代碼正確隔離。

資源

如果您在phpfile.php中包含您想要做的事情,我們可以幫助您編寫插件 function。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM