标签: smarty

如何在smarty中找到foreach循环的最后一个索引

如何在smarty中获取foreach循环的最后一个索引值,对于smarty我是新的,我已经使用了这个代码,但它不起作用

{foreach from=$cityList key=myId item=i name=foo}
 {$i.location_name}{if $main_smarty.foreach.foo.last}<hr>{else}-{/if}
  {/foreach}
Run Code Online (Sandbox Code Playgroud)

我想要的是,当它们是最后一个城市名称之后它的水平线,否则它就像印度 - 美国 - 日本 - 但最后它来到日本 - 中国

在.php我用

<?php
include_once('Smarty.class.php');
$main_smarty = new Smarty;

query to find citylist
$main_smarty->assign('cityList',$cityList);
?>
Run Code Online (Sandbox Code Playgroud)

php smarty

17
推荐指数
2
解决办法
2万
查看次数

如何在Smarty模板中将数组转换为逗号分隔的字符串?

我有一个标题$preview_data分配给smarty模板的数组,如下所示:

Array
(
  [applicable_states] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 4
            [3] => 10
            [4] => 11
        )

)
Run Code Online (Sandbox Code Playgroud)

现在我想在smarty模板的div元素中将上述数组元素显示为逗号分隔值.简而言之,它应该像php中的implode()一样.有人可以帮助我在smarty模板中实现这一目标吗?提前致谢.

php arrays smarty implode

17
推荐指数
1
解决办法
1万
查看次数

如何用smarty生成json?

在Smarty中,有没有标准函数或从数组生成json的简单方法,就像json_encode()在php中一样?实际上似乎没有聪明的文档,但无论如何都想问.

谢谢,思南.

php json smarty

16
推荐指数
3
解决办法
4万
查看次数

检查PHP会话而不启动它?

是否可以检查没有启动会话的会话?

我问的原因是,我正在开发的应用程序有一个集成的管理界面.因此,当管理员登录时,他们浏览与用户相同的页面以进行编辑.字段和选项基于用户privs显示.

这导致了两个问题.

一个是因为会话正在启动,我无法启用浏览器缓存功能,因为发送的标头始终是:

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0       
Run Code Online (Sandbox Code Playgroud)

我使用smarty输出模板,并且无法实现:

$smarty->cache_modified_check = true;
Run Code Online (Sandbox Code Playgroud)

发送304未修改,因为会话已经启动.使用上面的smarty param将是我浏览器缓存的完美解决方案.

是因为每个使用该站点的人都在启动一个会话,会话目录中充满了不需要的会话.

如果用户没有登录,我可以破坏会话,但是每个页面加载,用户将创建和删除会话.这是不好的做法吗?

因此,如果我可以检查是否存在活动会话而不启动,我的所有问题都将得到解决.有任何想法吗?浏览器在请求页面时是否发送会话cookie?

理想的东西是这样的:

if (session_exists) {
 session_start();
 $users->priv = $_SESSION['priv'];
}
else {
 $users->priv = guest;
}
Run Code Online (Sandbox Code Playgroud)

---------------回应Tony Miller ---------------

使用session_id()时,您必须已经启动会话以返回id.

session_start();
echo session_id($_SESSION);
Run Code Online (Sandbox Code Playgroud)

或者您可以在调用会话开始之前为会话设置ID

session_id("adfasdf");
session_start();
echo session_id($_SESSION);

//prints "adfasdf"
Run Code Online (Sandbox Code Playgroud)

这些都不能帮助我.除非我遗漏了什么.

php session caching smarty

16
推荐指数
2
解决办法
4623
查看次数

Smarty Modifier文件大小

我正在使用Smarty,其中一个节目显示文件名,包括日期,文件大小,最后访问等...

如果小于1024,我想在K中显示文件的大小,如果小于1048576等,则以Mb显示...

数据(文件信息)来自数据库(名称,文件大小,日期等...)

例如:

File             Mime       Size       Date 
Filename1.jpg    mime/jpg   14.1Kb     2011/12/12
Run Code Online (Sandbox Code Playgroud)

Smarty中是否有任何修饰符可以做到这一点?

谢谢

php size smarty

15
推荐指数
1
解决办法
3368
查看次数

Smarty:如何引用关联数组索引

Array $imagelist:

Array ( 
    [additional] => Array ( 
        [count] => 2 
        [image] => Array ( 
            [nokia_e61_1.jpg] => Array ( 
                [name_body] => nokia_e61_1 
                [name_ext] => jpg 
            ) 
            [nokia_e61_2.jpg] => Array ( 
                [name_body] => nokia_e61_2 
                [name_ext] => jpg 
            ) 
            [nokia_e61_3.jpg] => Array ( 
                [name_body] => nokia_e61_3 
                [name_ext] => jpg 
            ) 
            [nokia_e61_4.jpg] => Array ( 
                [name_body] => nokia_e61_4 
                [name_ext] => jpg 
            ) 
        ) 
    ) 
    [main] => nokia_e61 
) 
Run Code Online (Sandbox Code Playgroud)

该值nokia_e61_1.jpg保留在{$getvars.imagename}.

我写了,{$imagelist.additional.image.`$getvars.imagename`.name_body}但它不起作用.

请帮忙.

php arrays indexing reference smarty

14
推荐指数
2
解决办法
4万
查看次数

Smarty:substr一个变量

如何打印smarty变量的前n个字符,例如{$ var}的前30个字符?

smarty

14
推荐指数
2
解决办法
4万
查看次数

聪明和约会

我得到约会: {$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}

但如何获得20天后呢?

如果现在:2010 05 05 12:12:12,我希望表明2010 25 05 12:12:12

smarty

13
推荐指数
3
解决办法
4万
查看次数

Smarty - foreach循环10次并停止

我使用以下Smarty代码:

{foreach from=$entries key=i item=topic}
  {if $topic.topic_style == question}
    <li>
      <a href="topic.php?id={$topic.id}">{$topic.title}</a>
    </li>
  {/if}
{/foreach}
Run Code Online (Sandbox Code Playgroud)

我怎样才能{foreach}最多10次然后停止?

foreach smarty

13
推荐指数
3
解决办法
4万
查看次数

如何增加Smarty变量?

我通常不是一个Smarty人,所以我有点卡住了.

我想回显数组的索引,但我希望每次回显时都增加它.

这就是我所拥有的......

<ul>
    {foreach from=$gallery key=index item=image}
    <li>
        <img src="{$image}" alt="" id="panel-{$index++}" />
    </li>
    {/foreach}
</ul>
Run Code Online (Sandbox Code Playgroud)

它不起作用.

在将数组交给Smarty之前,这是预处理数组的最佳方法吗?

有没有办法可以使用Smarty做到这一点?

php smarty

13
推荐指数
1
解决办法
4万
查看次数

标签 统计

smarty ×10

php ×7

arrays ×2

caching ×1

foreach ×1

implode ×1

indexing ×1

json ×1

reference ×1

session ×1

size ×1