我正在尝试调整网站中帖子的字符显示,但无论我如何更改代码。它要么切断1个字还是有错误。请帮忙,我该怎么办?
以下是代码。
<p style="float:right; margin-top:3px;width:88px;">
{if $short_urls eq "1" OR $short_urls eq "2"}
{insert name=get_short_url value=a assign=takento PID=$posts[i].PID SEO=$posts[i].name}
<a href="http://twitter.com/share" class="twitter-share-button" data-url="{$takento}" data-via="{$twitter}" data-hashtags="DailyRantz" data-text="{insert name=strip_special2 value=a assign=cstory2 text=$posts[i].story}{$cstory2}", data-count="horizontal">Tweet</a>
{else}
<a href="http://twitter.com/share" class="twitter-share-button" data-url="{$baseurl}/view/{$posts[i].name|stripslashes|replace:' ':'+'}/" data-via="{$twitter}" data-text="You know,.......Want to know my Daily Rantz? Join me and others @" data-count="horizontal" data-hashtags="DailyRantz">Tweet</a>
{/if}
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</p>
我确实添加了代码,但它并不适用于我。任何人都知道我做错了什么?
<div style="float:right;">
<p style="float:left; margin-top:4px; margin-right:10px;">
<a href="javascript:;" onclick="plusToggle('{$posts[i].PID}');"><img src="{$imageurl}/plus_mini.gif"></a>
</p>
{字面}
<p style="float:right; margin-top:3px;width:88px;">
{if $short_urls eq "1" OR $short_urls eq "2"}
{$smarty->assign{'$post[i].PID'}|truncate:100:'...':True;
{insert name=get_short_url value=a assign=takento PID=$posts[i].PID SEO=$posts[i].name}
<a href="http://twitter.com/share" class="twitter-share-button" data-url="{$takento}" data-via="{$twitter}" data-hashtags="DailyRantz" data-text="{insert name=strip_special2 value=a assign=cstory2 text=$posts[i].story}{$cstory2}", data-count="horizontal">Tweet</a>
{else}
<a href="http://twitter.com/share" class="twitter-share-button" data-url="{$baseurl}/view/{$posts[i].name|stripslashes|replace:' ':'+'}/" data-via="{$twitter}" data-text="You know,...Want to know my Daily Rantz? Join me and others @" data-count="horizontal" data-hashtags="DailyRantz">Tweet</a>
{/if}
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</p>
请帮助,非常感谢您的时间。
答案 0 :(得分:1)
使用{$str|truncate:20}
它将trucnate字符串ref:smarty truncate。
通常要显示一个字符串,我们将在smarty中使用{$string}
如果要截断字符串{$string|truncate:20:...}
,请像这样使用它
您只能在分配时显示的地方执行此操作。
即{$smarty->assign{'$post[i].PID'}|truncate:100:'...':True;
无效。
注意:检查$smarty->assign
的语法,它需要一个您要分配的变量名称和一个您正在分配的值。
所以作为一个完整的代码,它将是这样的:
1. First assign a value to a variable.
$smarty->{assign var="name" value="just to test"}
ref: http://www.smarty.net/docs/en/language.function.assign.tpl
2. truncate the value.
{$name|truncate:20:...}
ref: http://www.smarty.net/docs/en/language.modifier.truncate.tpl