【问题标题】:how to insert newline in smarty template?如何在 smarty 模板中插入换行符?
【发布时间】:2013-01-11 06:15:42
【问题描述】:

我有一个 smarty 模板代码如下,我想将 smarty 模板数据逐行写入文本文件。为此,我必须在每条记录的末尾插入一个换行符(即在值$user_test_result.test_result_data.total_obtained_marks 之后)。这应该如何实现?请帮我解决这个问题。提前致谢。

{if $all_user_test_result}{assign var='sr_no' value=1}{foreach from=$all_user_test_result item=user_test_result key=key}{if $key!='sort_user_name' && $key!='sort_total_obtained_marks' && $key!='sort_no_correct_answers' && $key!='sort_no_wrong_answers' && $key!='sort_no_skipped_questions'}{$sr_no};{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_user_data.user_name};{else}{$user_test_result.test_user_data.user_name};{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_user_data.test_user_time_used};{else}--{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_correct_answers};{else}-{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_wrong_answers};{else}-{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_skipped_questions};{else}-{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.total_obtained_marks};{else}-{/if}{/if}{assign var='sr_no' value=$sr_no+1}{/foreach}{else}Result not found{/if} 

【问题讨论】:

    标签: php smarty


    【解决方案1】:

    在值$user_test_result.test_result_data.total_obtained_marks 之后应该有一个换行符(“\n”),并在其周围放置智能标记,如{“\n”}。你会得到想要的结果。

    【讨论】:

      【解决方案2】:

      除非我弄错了,否则 Smarty 会将模板中的所有空格直接输出到文件中。因此,与其将所有 smarty 标签放在一行上,不如在适当的位置插入换行符。

      {if $all_user_test_result}{assign var='sr_no' value=1}{foreach from=$all_user_test_result item=user_test_result key=key}{if $key!='sort_user_name' && $key!='sort_total_obtained_marks' && $key!='sort_no_correct_answers' && $key!='sort_no_wrong_answers' && $key!='sort_no_skipped_questions'}{$sr_no};{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_user_data.user_name};{else}{$user_test_result.test_user_data.user_name};{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_user_data.test_user_time_used};{else}--{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_correct_answers};{else}-{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_wrong_answers};{else}-{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_skipped_questions};{else}-{/if}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.total_obtained_marks};{else}-{/if}
      {/if}{assign var='sr_no' value=$sr_no+1}{/foreach}{else}Result not found{/if}
      

      为了便于阅读,您还可以在模板中包含不输出的换行符,方法是将它们放入{* comments *}

      {if $all_user_test_result}{*
          *}{assign var='sr_no' value=1}{*
          *}{foreach from=$all_user_test_result item=user_test_result key=key}{*
              *}{if $key!='sort_user_name' && $key!='sort_total_obtained_marks' && $key!='sort_no_correct_answers' && $key!='sort_no_wrong_answers' && $key!='sort_no_skipped_questions'}{*
                  *}{$sr_no};{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_user_data.user_name};{else}{$user_test_result.test_user_data.user_name};{/if}{*
                  *}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_user_data.test_user_time_used};{else}--{/if}{*
                  *}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_correct_answers};{else}-{/if}{*
                  *}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_wrong_answers};{else}-{/if}{*
                  *}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.no_skipped_questions};{else}-{/if}{*
                  *}{if $user_test_result.test_user_data.user_status=='Attempted'}{$user_test_result.test_result_data.total_obtained_marks};{else}-{/if}{*
              *}{* Add newline at end of record *}
              {/if}{*
              *}{assign var='sr_no' value=$sr_no+1}{*
          *}{/foreach}{*
      *}{else}Result not found{*
      *}{/if}
      

      【讨论】:

      • 这是我最近遇到的。您的答案似乎是一些解决方法。
      • 有趣的解决方案。谢谢。
      猜你喜欢
      • 2012-06-19
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2011-01-17
      相关资源
      最近更新 更多