PHP使用smarty遇到的一个设计问题

今天在做项目遇到一个问题,比如现在有一个搜索选择框(select),搜索选择框里面的内容是类别信息,需要从数据库中读出来,正常的情况是在控制页面上$tpl->assign... 今天在做项目遇到一个问题,比如现在有一个搜索选择框(select),搜索选择框里面的内容是类别信息,需要从数据库中读出来,正常的情况是在控制页面上$tpl->assign("category",$category);赋值给他,然后模板显示,现在如果这个搜索选择框在很多页面都需要使用,但是我不想每个页面都$tpl->assign("category",$category),因为这个搜索框页面我也是写成一个模板文件,其他页面要包含也是通过<{include file="search.html"}>来包含的,我想通过一种设计,不必每次我都手动给$category赋值,而是一旦包含了search.html页面它就会自动获取$category
你可以在PHP里,在加载模板之前INCLUDE一个定义了全局操作的PHP文件
里面写上
《?PHP
$tpl->assign("category",$category);
?》
____________________________________________________________________
感觉这样的设计不是很好,有没有更理想一点的
展开
 我来答
喵问答
2010-12-09 · 专注学习咨询内容信息分享
喵问答
采纳数:32 获赞数:119

向TA提问 私信TA
展开全部
$tpl = new Smarty();
function getAutoCompleteTpl(){
// 内容
}
$tpl->register_function('autoComplete','getAutoCompleteTpl');//注册smarty页面的函数

在页面直接使用 {autoComplete}
试试吧
圣灭绝
2010-12-08 · TA获得超过1093个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:269万
展开全部
你可以在PHP里,在加载模板之前INCLUDE一个定义了全局操作的PHP文件
里面写上
《?PHP
$tpl->assign("category",$category);
?》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
womanv
2010-12-09 · TA获得超过818个赞
知道小有建树答主
回答量:898
采纳率:0%
帮助的人:1038万
展开全部
我一般会通过插件来实现
具体可以参考手册plugin那节(Extending Smarty With Plugins)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式