如何在 Smarty 3.1.31 中启用 Php 代码
How to Enable Php code in Smarty 3.1.31
我下载了一个系统,显然它是使用 Smarty 模板引擎创建的。我不熟悉这个模板引擎,我很难实现我想要的。我想在图片上添加文字,我找到了这段代码:
<?php
//Set the Content Type
header('Content-type: image/jpeg');
// Create Image From Existing File
$jpg_image = imagecreatefromjpeg('sunset.jpg');
// Allocate A Color For The Text
$white = imagecolorallocate($jpg_image, 255, 255, 255);
// Set Path to Font File
$font_path = 'font.TTF';
// Set Text to Be Printed On Image
$text = "This is a sunset!";
// Print Text On Image
imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
// Send Image to Browser
imagejpeg($jpg_image);
// Clear Memory
imagedestroy($jpg_image);
?>
我在网上搜索了一下,发现 Smarty 不允许 Php TPL 文件中的代码。我尝试使用 {php} //code here {/php}
但它不起作用。有没有办法在 smarty 中启用 php 标签?如果没有,我怎样才能实现我想要的?
我认为更好的方法是在控制器中创建图像,然后将图像编码为 base64 并将其发送到 view/template。
在你的控制器中
$img = 'created image by image function';
/*encode image to base64 and send it to view/template*/
$img = base64_encode($img);
现在在您的视图中使用此渲染图像
<img src="data:image/gif;base64,{ $img }" />
我下载了一个系统,显然它是使用 Smarty 模板引擎创建的。我不熟悉这个模板引擎,我很难实现我想要的。我想在图片上添加文字,我找到了这段代码:
<?php
//Set the Content Type
header('Content-type: image/jpeg');
// Create Image From Existing File
$jpg_image = imagecreatefromjpeg('sunset.jpg');
// Allocate A Color For The Text
$white = imagecolorallocate($jpg_image, 255, 255, 255);
// Set Path to Font File
$font_path = 'font.TTF';
// Set Text to Be Printed On Image
$text = "This is a sunset!";
// Print Text On Image
imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
// Send Image to Browser
imagejpeg($jpg_image);
// Clear Memory
imagedestroy($jpg_image);
?>
我在网上搜索了一下,发现 Smarty 不允许 Php TPL 文件中的代码。我尝试使用 {php} //code here {/php}
但它不起作用。有没有办法在 smarty 中启用 php 标签?如果没有,我怎样才能实现我想要的?
我认为更好的方法是在控制器中创建图像,然后将图像编码为 base64 并将其发送到 view/template。
在你的控制器中
$img = 'created image by image function';
/*encode image to base64 and send it to view/template*/
$img = base64_encode($img);
现在在您的视图中使用此渲染图像
<img src="data:image/gif;base64,{ $img }" />