首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板中的模板(.tpl) smarty

问模板中的模板(.tpl) smarty
EN

Stack Overflow用户
提问于 2011-01-16 01:38:28
回答 2查看 6.1K关注 0票数 3

嘿,几个星期以来,我一直在尝试用smarty模板解决方案编写PHP应用程序。现在,对于所有专业人员来说,一个简单的问题是:如何在模板中获取模板?一个例子: index.php (page.tpl)包含my login.php (login.tpl)

在smarty文档中,我找到了这个函数:{include file="$tpl_name.tpl"}

但是我的login.php控制器在哪里呢?当此函数包含login.tpl文件时,我只有HTML代码或?

有人能给我解释一下或给我一个样本/教程吗?

对不起,我的英语不好

诚挚的问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-16 02:07:56

基本上,您的示例中的login.tpl文件必须是一个普通的Smarty模板(因此它可以包含html标记以及Smarty标记)。您不能包含来自Smarty的另一个控制器。

据我所知,您希望将登录功能添加到您的索引页面。这可以通过以下方式完成:

1)将login.tpl包含到index.tpl中,这样您的索引页面中就会包含登录表单。

2)为您的登录表单指定不同的操作,例如" login.php ",因此此login.php将成为您的登录控制器,它处理所有登录/注销逻辑。

3)用户登录成功后,您可以将其重定向到index.php (或您想要的任何页面)。

因此,您将拥有两个独立的控制器:主控制器(负责索引页面)和登录控制器(负责登录/注销)。在这种情况下,login.tpl文件将只是一个模板,其中包含一些html,可能还有一些Smarty标记来呈现登录表单。

票数 2
EN

Stack Overflow用户

发布于 2011-01-16 01:59:51

这段代码正是您想要的。它可以让你在一个模板中包含另一个聪明的模板。

代码语言:javascript
复制
<html>
<head>
  <title>{$title}</title>
</head>
<body>
{include file='login.tpl'}

所有可用于原始模板的变量都可用于您刚才包含的模板。

我不确定你说的只有HTML代码是什么意思,也许你想要这个函数:

代码语言:javascript
复制
{include_php file='/path/to/login.php'}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4701082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档