0

Web サイトの投稿の文字表示を調整しようとしていますが、コードをどのように変更しても問題ありません。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>

助けてください、あなたの時間に感謝します。

4

1 に答える 1

1

使用する{$str|truncate:20}

文字列 ref を切り捨てます: smarty truncate.

{$string}通常、smartyで使用する文字列を表示するには

文字列を切り捨てたい場合は、次の{$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
于 2013-01-29T04:30:56.420 に答える