在smarty中创建用户定义标签以及如何获取其中的内容

发布于 2024-12-28 05:17:10 字数 342 浏览 0 评论 0原文

在 smarty Smarty_Compiler.class.php 中,在两个标签之间执行了一些操作,例如 {if}{/if} 如果我想获取新标签中的文本,那么如何继续

function _compile_tag($template_tag)
    {
     ....
     switch ($tag_command) {
    -----
     case 'newtag':
      break;
     case  '/newtag':
       break;
      }

我在新标签中尝试如何获取 tpl 的内容

in smarty Smarty_Compiler.class.php performed some operation between two tags like {if}{/if}
if i want to get text within the new tag then how to proceedi tried inside

function _compile_tag($template_tag)
    {
     ....
     switch ($tag_command) {
    -----
     case 'newtag':
      break;
     case  '/newtag':
       break;
      }

How can i get the content of tpl within the new tag

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌化 2025-01-04 05:17:10

您应该创建一个 Smarty 插件。您可以阅读文档此处(关于扩展 Smarty)和此处(更具体地说,关于创建块功能插件)。

基本上,您必须创建 smarty_make_pdf() PHP 函数(请参阅我给您的第二个链接中的参数),将其放在名为 block.make_pdf.php 的文件中(请参阅此处)并告诉 Smarty搜索插件您使用 $smarty->addPluginsDir() 创建该文件的文件夹(请参阅此处)。

PS:我假设您正在使用 Smarty 3。

You should create a Smarty plugin. You can read documentations here (about extending Smarty) and here (more specific, about create block functions plugins).

Basically, you have to create your smarty_make_pdf() PHP function (see parameters in the second link I gave you), place it in a file called block.make_pdf.php (see here) and tell Smarty to search for plugins in the folder you created that file using $smarty->addPluginsDir() (see here).

PS: I'm supposing you are using Smarty 3.

北方的巷 2025-01-04 05:17:10

您确实不应该通过编辑核心 Smarty 代码来实现此目的。

如果您使用的是 Smarty 3,请查看 registerPlugin()(如果您使用的是 Smarty 2,请查看 register_block())。

这些方法将允许您创建自己的 Smarty 标签并编写实现它们的处理函数。

You really shouldn't be editing the core Smarty code to achieve this.

Look into registerPlugin() if you're using Smarty 3 (or register_block() if you're on Smarty 2).

These methods will allow you to create your own Smarty tags and write handler functions that implement them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文