我有两个各自格式的日期(02-Dec-14 和 17-Dec-14 ),我想在 smarty 中比较这两个日期。
我如何比较这两个日期?请帮忙。
提前致谢
我有一些内容,例如:产品类型 - 颜色名称(此更改但格式始终相同,我只想显示“颜色名称”
它输出为:
{{ product.title }}
Run Code Online (Sandbox Code Playgroud)
我需要做的是使用可用的字符串过滤器并查找并删除“-”及其之前的内容,以便它只显示连字符“-”之后的部分
有没有人有任何想法?
我正在浏览 Prestashop 1.7,我想覆盖负责产品列表(又名类别存档)的控制器。我正在使用官方的 Prestashop starter 主题,我想覆盖控制器以获取更多数据到 sort-order.tpl
<div class="products-sort-order">
<span>{if isset($listing.sort_selected)}{$listing.sort_selected}{else}{l s='Sort by:' d='Shop.Theme.Global'}{/if}</span>
{foreach from=$sort_orders item=sort_order}
<a
class="{['current' => $sort_order.current, 'js-search-link' => true]|classnames}"
href="{$sort_order.url}"
rel="nofollow"
>
{$sort_order.label}
</a>
{/foreach}
</div>
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中有一个 sort_order 变量,它是来自 products-top.tpl 的 $listing 变量的一部分
<div id="js-product-list-top" class="products-selection">
{if $listing.pagination.total_items|count > 1}
<p>{l s='There are %product_count% products.' d='Shop.Theme.Catalog' sprintf=['%product_count%' => $listing.pagination.total_items|count]}</p>
{elseif $listing.pagination.total_items > 0}
<p>{l s='There is 1 product.' d='Shop.Theme.Catalog'}</p>
{/if}
{block name='sort_by'}
{include file='catalog/_partials/sort-orders.tpl' sort_orders=$listing.sort_orders}
{/block}
{block name='pagination_summary'}
{l s='Showing %from%-%to% of %total% item(s)' d='Shop.Theme.Catalog' …Run Code Online (Sandbox Code Playgroud) 我的电子邮件模板有点问题。Shopware 出于某种原因使用 Smarty 作为其电子邮件的模板语言。我现在的问题是我有这个电子邮件模板
Tracking:
{if $sDispatch.name == "DHL national" }
https://sampleurl.com={$sOrder.trackingcode}
{else if $sDispatch.name == "DPD"}
https://sampleurl.com={$sOrder.trackingcode}
{else if $Dispatch.name == "Deutsche Post"}
http://sampleurl.com
{else}
Your order can not be tracked.
{/if}
Run Code Online (Sandbox Code Playgroud)
包裹有很多派送选项(小包裹,有保险......)。现在我想检查 $sDispatch.name 中的字符串是否包含“DHL”、“DPD”或“Deutsche Post”,以确定应将哪个跟踪链接发送给客户。
我找不到合理的解决方案来检查字符串是否包含这些给定子字符串的片段。有没有人有一个巧妙的小解决方案可以解决问题?任何东西都值得赞赏!:-)
我有一个PHP页面,生成一个元素数组.为简单起见,我们假设它按数字顺序包含数字1-5.这些数字需要相等(或尽可能接近相等)分成两列(使用html表),如下所示:
1 4
2 5
3
Run Code Online (Sandbox Code Playgroud)
列数可能会在将来发生变化.由于这是对表示级别的更改,因此我认为它应该是可以通过仅在模板文件中进行更改来实现的.这告诉我,应该处理将元素划分为列的Smarty.
有没有办法用Smarty(以及如何)实现这一点,还是应该让php文件完成所有工作?
关于如何将java脚本变量分配给smarty变量我遇到了问题.这是代码片段.
function getDateInfo(date, wantsClassName)
{
var as_number = Calendar.dateToInt(date); //This as_number is the variable which should be assigned to smarty variable
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点.
任何帮助将不胜感激..
谢谢你提前 - Fero
我似乎无法找到一种方法来阻止智能变量显示其输出,即如果我写{$foo}或{$foo++}它将显示$foo输出中的任何值.
任何人都可以告诉我如何阻止他们显示输出?
smarty tpl文件中{iterate}和{foreach}有什么区别?他们使用'from'短语有什么不同吗?
echo date('Y-m-d',time())
Run Code Online (Sandbox Code Playgroud)
我得到2012-07-16,但是当聪明的输出是
{$smarty.now | date_format : "%Y-%I-%d"}
Run Code Online (Sandbox Code Playgroud)
我得到2012-04-16
我已经确定time_zone是正确的.
这是我的字符串,以逗号(,)分隔
$myStr = "One, Two,Three, Four , Five ,Six "
我能够成功爆炸 {assign var="options" value=","|explode:$myStr}
但是我也想在输出每个字符串的开头或结尾删除空格。换句话说:我正在寻找一个SMARTY函数,它等同于PHP的内置trim($mystr)函数。PHP trim将删除开头和结尾的空格(如果存在),否则返回实际的字符串。
{section name=myname loop=$options}
{$options[myname]}
{/section}
Run Code Online (Sandbox Code Playgroud)
上面的代码将输出:
Run Code Online (Sandbox Code Playgroud)One Two Three [whitespace]Four[whitespace] [whitespace]Five[whitespace] Six[whitespace]
如何修剪空格?