2

a の値を定義すると{block}、多くの不要な空白が導入されるという問題に遭遇しました。

私はメインテンプレートを持っています。それmain.htmlを と呼びましょう。これは次のようになります (簡略化):

<html>
<title>{block name=title}{$default_title}{/block}</title>
...
</html>

次に、たとえば でそれを継承しtopics.html、タイトル ブロックを定義します。

{extends file="main.html"}

{block title}
{if $topic}
  {if $topic == "all"}
    {eval $Config['titles']['topics']['all']}
  {else}
    {eval $Config['titles']['topics']['particular']}
  {/if}
{else}
  {eval $Config['titles']['topics']['list']}
{/if}
{/block}

テンプレートをコンパイルすると、タグtopics.html内に非常に多くの空白があります。<title>...</title>

たとえば、次のようになります。

<title>
    Showing all wiki topics  </title>

次のように、ブロックを評価した結果から空白をトリム/削除するにはどうすればよいですか?

<title>Showing all wiki topics</title>

{strip}...{/strip}私はこのように周りに追加しようとしました{block title}...{/block}:

{strip}
{block title}
...
{/block}
{/strip}

しかし、それは何も変わりませんでした。

私もこれを試しました:

{block title|strip}
...
{/block}

しかし、それは構文エラーでした。私もこれを試しました:

{block title|trim}
...
{/block}

しかし、それは構文エラーでもありました。

私も試しました:

{block title}
{strip}
...
{/strip}
{/block}

しかし、後で改行を導入した{block title}ので、それは役に立たなかったので、コンパイルされたテンプレートに残ります。

どんな助けでも大歓迎です!

4

1 に答える 1

2

{block}Smarty 3.1では、s を他の構造でラップすることはできません。(これは Smarty 3.2 では変更される可能性があります){strip}タグを の中に入れてみました{block}sか? それ以外の場合は、ここで私の答えを見てください

于 2012-06-17T14:43:04.737 に答える