2012-05-09 36 views
0

我写了下面的代码,模板递增值精简版

我要的是,当变量是4,创建一个新的<li>。在下面的代码中,{$ counter}总是1为什么?我不能增加它

<div id="slider"> 
      <ul> 
       <li> 
       {foreach from=$books value=book} 
       {counter start=0 print=false assign=mycounter} 
      { math equation="x + 1" x=$mycounter assign="counter" } 


       {$counter} 

        <div class="video2"> 

         <div class="thumb"> 
          <div class="kitap"><a href="http://cmkzl.nokta.com/kitaplar/{$book.title}"><img src="{$imageUrl}/{$book.image}" width="145" height="205"></a></div> 
          <div class="kitap_baslik"><strong>{$book.title}</strong></div> 

          <div class="alt_baslik"><em>{$book.description|truncate:65:"..."}</em></div> 
          <div class="yorumlar_btn"><a href="b_u_tirmanirken"><img src="{$imageUrl}/yorumlar_btn.jpg" width="145" height="50"></a></div> 
         </div> 
        </div> 
       </li> 
       {if $counter is div by 4} 
       <li> 
        {/if} 
      {/foreach} 

      </ul> 

     </div> 
+1

你要么需要关闭问题或标记答案监守打开新的问题,所有的时间是不是增加想要帮助你的好方法。 –

回答

0

怎么样我给你答案在PHP

<div id="slider"> 
<ul> 
    <li> 
<?php 
    $counter = 0; 
    foreach($book in $books) 
    { ?>    
     <div class="video2"> 

      <div class="thumb"> 
       <div class="kitap"><a href="http://cmkzl.nokta.com/kitaplar/<?= $book.title ?>"><img src="<?=$imageUrl?>/<?=$book.image?>" width="145" height="205"></a></div> 
       <div class="kitap_baslik"><strong><?=$book.title?></strong></div> 

       <div class="alt_baslik"><em><?= truncateString($book.description,65,true,"...")?></em></div> 
       <div class="yorumlar_btn"><a href="b_u_tirmanirken"><img src="<?=$imageUrl?>/yorumlar_btn.jpg" width="145" height="50"></a></div> 
      </div> 
     </div> 

    <?php 
     $counter++; 
     if($counter == 4){ 
      $counter = 0; ?> 
      </li> 
      <li> 
    <?php 
     } 

    } 

function truncateString($str, $chars, $to_space, $replacement="...") { 
    if($chars > strlen($str)) return $str; 

    $str = substr($str, 0, $chars); 

    $space_pos = strrpos($str, " "); 
    if($to_space && $space_pos >= 0) { 
     $str = substr($str, 0, strrpos($str, " ")); 
    } 

    return($str . $replacement); 
} 

    ?> 
    </li> 
</ul>