цикл в темплейте

Статус
В этой теме нельзя размещать новые ответы.

fafee

Постоялец
Регистрация
3 Окт 2008
Сообщения
92
Реакции
0
Eсть цикл,
PHP:
{section name=entries_loop loop=$entries}

и переменная $k=1

подскажите как сделать, чтобы при каждом проходе цикла, переменная $k принимала значение $k + 1

цикл прописан в tpl файле, и поэтому синтаксис, используемый в php файле не корректен

Спасибо.
 
  • Заблокирован
  • #2
вообще $k++ или $k = $k + 1;
но я не понимаю если как ты говоришь синтаксис php не корректен, то к чему создавать тему именно в этом разделе?
 
а вы уверены что цикл написан на PHP может это яваскрипт раз он в tpl
приведите пример этого цикла посмотрим что там надо увеличивать...
кстати конструкция ++$k быстрей работает чем $k++
 
а вы уверены что цикл написан на PHP может это яваскрипт раз он в tpl
приведите пример этого цикла посмотрим что там надо увеличивать...
кстати конструкция ++$k быстрей работает чем $k++

есть пара файлов .php и .tpl
++$k работает в .php и не работает в .tpl - потому что в .tpl синатксис
не php, а html

мне надо, чтобы в следующем цикле, при первом его проходе вывелась
еще одна строка, то есть по умолчанию $k=1, если $k>1, то строку не выводим, поэтому при каждом прохождении цикла увеличиваем $k на 1, чтобы строка бльше не выводилась.
вся проблема в том, как увеличить $k на 1 в теле .tpl (то есть html файла)
PHP:
{section name=entries_loop loop=$entries}
  {* MAKE SURE TITLE IS NOT BLANK *}
  {if $entries[entries_loop].blogentry_title != ""}
    {assign var='blogentry_title' value=$entries[entries_loop].blogentry_title}
  {else}
    {assign var='blogentry_title' value=$blog4}
  {/if}
  <div>
    <table cellpadding='0' cellspacing='0' width='100%'>
    <tr>
    <td valign='top' width='80' align='center' style='padding: 5 15 5 5;'>
<a href='{$url->url_create('profile', $entries[entries_loop].blogentry_author->user_info.user_username)}'>
<img src='{$entries[entries_loop].blogentry_author->user_photo('./images/nophoto.gif')}' class='photo' width='{$misc->photo_size($entries[entries_loop].blogentry_author->user_photo('./images/nophoto.gif'),'80','80','w')}' border='0'></a>
</td>
    <td valign='top'>
      <div class='blog_title'><a href='{$url->url_create('blog_entry', $owner->user_info.user_username, $entries[entries_loop].blogentry_id)}'>{if $entries[entries_loop].blogentry_title != ""}{$entries[entries_loop].blogentry_title|truncate:100:"...":true}{else}За чашкой какао{/if}
      </a></div>
      <div class='blog_date'>
        {$datetime->cdate("`$setting.setting_timeformat` `$blog_entry21` `$setting.setting_dateformat`", $datetime->timezone($entries[entries_loop].blogentry_date, $global_timezone))}  
      </div>
      {* SHOW ENTRY CATEGORY *}
      {if $entries[entries_loop].blogentry_blogentrycat_title != ""}
        <div class='blog_category'>Filed under: <a href='blog_category.php?blogentrycat_id={$entries[entries_loop].blogentry_blogentrycat_id}'>{$entries[entries_loop].blogentry_blogentrycat_title}</a></div>
      {/if}
      <div class='blog_body'>{$entries[entries_loop].blogentry_body|choptext:75:"<br>"}</div>
      <div align="right" style="margin:5px; text-decoration:none;"> 
<br>
{if $entries[entries_loop].total_comments == 0}
<span style="background:#f1f1f1; color:#999999">&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;<a href='{$url->url_create('blog_entry', $entries[entries_loop].blogentry_author->user_info.user_username, $entries[entries_loop].blogentry_id)}'>Поддержать беседу</a>
&nbsp;<img src='./images/icons/typewriter.png' border='0' class='icon_comment'>
&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;
{else}
<span style="background:#f1f1f1; color:#999999">&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;
<a href='{$url->url_create('blog_entry', $entries[entries_loop].blogentry_author->user_info.user_username, $entries[entries_loop].blogentry_id)}'>текст
&nbsp;({$entries[entries_loop].total_comments})</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href='{$url->url_create('blog_entry', $entries[entries_loop].blogentry_author->user_info.user_username, $entries[entries_loop].blogentry_id)}'>текст2
</a>&nbsp;<img src='./images/icons/typewriter.png' border='0' class='icon_comment'>
&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;</span></div>{/if}
    </td>
    </tr>
    </table>
  </div>
{/section}
 
в смарти смотри {counter}
 
Вариантов реализации - масса. Можно использовать в начале кода
{counter name=k start=1 skip=1}
и в нужном месте делать проверку (*1)
{if k == 1}
выводим нужный код
{else}{/if}
и увеличивать счетчик
{counter name=k} (увеличили значение и при следующей проверке *1 будет фолс)

Вариант 2. (проще и правильнее)
{if $smarty.section.entries_loop.index == 1}
...
{else}
...
{/if}

и по аналогии еще несколько вариантов.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху