0

この投稿を見つけましたPHP:foreach()ステートメントを制限しますか? それは私がやりたいことをすることについて話します、しかし私は私のコードを編集する方法とそれをどこに置くべきかわかりません。誰かがコードを置く場所を教えてもらえますか/配列のX番号だけを表示するようにコードを編集する方法はありますか?

{~* Get Ads *~}
{~$ads2=array()~}
{~foreach $ads as $data~}
{~capture append="ads2"~}
{~if $data.code~}
<div>{~$data.code|decode~}</div><br />
{~else~}
<div><a rel="nofollow" href="{~$conf.path~}side/sideClick.php?spid={~$data.id~}" target="_blank">{~if $data.url~}<img src="{~$data.url~}" border="0" alt="{~$data.title~}" {~if $config->get('sideForce')~} width="120" height="60"{~/if~}>{~else~}{~$data.title~}{~/if~}</a></div>
{~/if~}
{~/capture~}
{~/foreach~}

{~* Advertise Here *~}
{~if !$config->get('sideNoFill') || $config->get('sideNoFill')=='2'~}

{~* Advertising Spots *~}
{~if $adsRows>=5 || $config->get('sideNoFill')=='2'~}
{~$rows=1~}
{~else~}
{~$rows=5-$adsRows~}
{~/if~}

{~* Advertising Text *~}
{~if $config->get('sideAds')=='image'~}
{~$adText="banner"~}
{~elseif $config->get('sideAds')=='text'~}
{~$adText="text link"~}
{~else~}
{~$adText="banner or text link"~}
{~/if~}

{~* Loop *~}
{~section loop=$rows name="sidePanel"~}
{~capture append="ads2"~}
<div><a href="{~$conf.path~}side/index.php">Your 120x60 {~$adText~} here, <br>As Low As 8 Cents Per Day!</a></div>
{~/capture~}
{~/section~}
{~/if~}

{~* Horizontal Ads *~}
{~if $horizontal>0~}
{~if count($ads2)~}
<table cellpadding="4" cellspacing="0" style="border:0px;width:100%;table-layout:fixed">
{~$i=1~}
{~foreach $ads2 as $data~}
  {~if $i==1~}
<tr valign="top">
  {~/if~}
<td>{~$data~}</td>
  {~if $i==$horizontal~}
    {~$i=1~}
</tr>
  {~elseif $data@last~}
<td colspan="{~$horizontal-$i~}"></td>
</tr>
  {~else~}
    {~$i=$i+1~}
  {~/if~}
{~if (++$i == 5) break;~}{~/if~}
{~/foreach~}
</table>
{~/if~}

{~* Vertical Ads *~}
{~else~}
{~foreach $ads2 as $data~}
<div>{~$data~}</div>
{~if !$data@last~}<br />{~/if~}
{~/foreach~}
{~/if~}

私はそれをどこに置くかを見つけるためにそれをいじってみましたが、私はただエラーを受け取り続けます。

バーティカル広告Ver。を使用しています。(1つを重ねて表示しています。)

表示される広告の数を制限したいのですが、今ではランダムな順序で表示されるたびに、常にすべての広告が表示されるようになっています。引っ張られた最初のX番号だけを表示し、残りが次のロードを通知することを忘れる以外は、同じにしたいです。それらはランダムな順序で来るので、すべてが同時に表示されるわけではなく、すべて表示されます。

4

1 に答える 1

0

1)PHPコードではなく、Smartyテンプレートコードを編集しています。リンクしたコードが機能しなかったのはそのためです。SmartyはPHPに非常に似ているように努めていますが、同じではありません。

2)コマンドでループから抜け出すことができます{break}

{foreach $ads2 as $data}
  {if $data@index >= 2}
   {break}   
  {/if}
{/foreach}

3)そのコードをhttp://thedailywtf.com/に送信してください。

于 2013-02-04T10:54:16.577 に答える