问题标签 [smarty3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Smarty modifer/plugin 从数组中获取标签
这是我从 CMS 发送到 Smarty 的示例数组。
所以我通常会写{$field.value}
或{html_options values=$field.options.values output=$field.options.labels selected=$field.value}
我的问题是如何轻松地从值中获取标签。我试过这个:{$field.options.labels[$field.value]}
但后来意识到这只是获取数组的索引而不是值。
我知道您可以在 {foreach/if} 中执行此操作,但这会在模板中变得混乱。有没有办法为此编写插件?
php - Smarty 模板引擎的问题
我遇到了 Smarty 的问题。我需要在.tpl
文件中进行一些计算、分配和删除,即 smarty。但我面临的问题是,当我这样做时{$idlist[$iSum+1]}
,它会出现错误。这里 $idlist 是一个数组并且$iSum
是一个整数。它可以正常工作,{$idlist[$iSum]}
或者{$idlist[3]}
但是在{$idlist[$iSum+1]}
运行这样的语句的语法必须是什么{$idlist[$iSum+1]}
?
php - 在 smarty 中修改数组内容?
我们正在使用 smarty,
在我们的一种观点中,我们有:
{if $header.showNav}...{/if}
如果我们想设置我们使用:
哪个有效,但它似乎相当冗长。
smarty 是否提供了一种更容易管理的方法?
smarty - 我的聪明循环有什么问题
问题就在附近{section name=ii loop=i start=(i+2)}
,因为<div data-role="controlgroup" data-type="horizontal">
源代码是空的。
smarty - 如何在 phalcon 0.5 中将 Phalcon\Tag 与外部模板引擎(如 Smarty)一起使用
我按照这个文档为 Smarty 创建了一个适配器。我想在我的项目中使用 Smarty 作为默认模板引擎。在这种情况下,我可以在 .tpl 文件中使用 Phalcon\Tag 或 $this->partial() 吗?如何?
php - 列出特定类别的产品
我正在尝试根据我所在的产品类别列出 4 个产品,所以如果我正在查看具有“真棒类别”类别的“酷产品”,我想查看 4 个最新的“真棒类别”产品该产品内。
我知道这可以通过手动将每个产品的产品添加到特定块来实现,不幸的是,这种方法的产品太多了,不可行。
我已经到了能够根据当前产品类别获取最新 4 种产品的 id 的地步,但是我无法获取拇指图像或产品的 URL,这是我到目前为止所拥有的,
如您所见,我在配置中启用了 PHP。所以总而言之,我想根据当前产品类别在我当前查看的产品中显示 4 个产品。
php - smarty3 检测模板是否包含在 {include} 中
在 smarty3 中,有没有办法找出 smarty 模板是否包含在我的 {include} 标记中?我知道我可以这样做,例如:
在 blahblah.tpl 里面
我只是想知道是否有更简单的方法。
codeigniter - Smarty - 分配太多变量?
我正在使用 Smarty 并尝试在我的 CodeIgniter 网站上实现多语言支持。是否可以将所有可能的语言变量分配在一个位置,以便所有页面都可以使用它,而不管是否使用了语言变量?这种方法很简单,但我担心在 Smarty 中分配太多变量会影响性能。
或者我应该经历只分配每页所需的语言变量的麻烦吗?实施和维护会很痛苦,但对 Smarty 来说可能不会那么昂贵。
php - Jquery Sortable 将 portlet 恢复到保存的设置
这里和网上有很多关于如何保存 jquery 可排序列表状态的帖子,但是恢复一个呢?
就我而言,我正在组织页面布局,而不是列表,所以我将有一个左右列(或更多)。
这是我过去所做的(使用 php+smarty):
每个 portlet 都有自己包含的模板文件。当我保存可排序列表的状态时,我将左右列分开保存,以便于恢复。
您将如何恢复可排序列表?
我更喜欢纯 jquery 的方式,例如 - 将 portlet 隐藏在页面上,将 json 数组传递给可排序列表,并在“创建”时对其进行排序并显示 portlet
对我来说,并不完全需要特定的代码,因此任何概念或想法都会受到赞赏。
谢谢!
-- 像这样思考:http: //jsfiddle.net/8gYsy/
php - Smarty 模板:是否可以扩展基本 {block} 以添加自定义功能?
我对模板有非常具体的任务。我需要扩展标准 Smarty 3 ( 3.1-DEV ) 模板系统以获得自定义 {block} 功能,但保留基本功能(添加/重写、求和等)通常我需要处理每个 {block} 竞争以获得下一个功能:
- 忽略 {block} 之外的每个模板的内容(模板源无关紧要)
- 保留对已处理 {block} 内容的“引用”(我想获取在 smarty 析构函数中“显示”的任何块的缓存内容,但不想将其保留在内存中)
- 具有相同的继承功能(能够获得嵌套块父母等)
- 保留原生 smarty 缓存系统
- 并且不要直接修改 smarty 引擎,通过插件和类扩展来实现
我试图创建自定义块函数,但它失去了原生 {block} 上的继承功能,我无法控制显示/处理的内容并在析构函数中获取它的内容。
主要思想是处理所有$smarty->display()
和$smarty->fetch()
调用,收集所有块的内容并保留对其内容的引用,但不会立即显示。
内容必须显示在主 smarty 实例析构函数中。显示的内容必须使用已处理的块进行组装。
可能还有其他一些模板解决方案可以完成这项任务,或者 smarty 中有任何现成的功能,但我找不到。我也不想更改 smarty 模板系统并拒绝使用 php 模板<? if( $a < $b ): ?> <b>Output</b> <? endif; ?>
,这对我来说太难看了。
upd:我想用 Smarty 实现“两步视图”,但要简单易行。
谢谢。