2015-02-06 42 views
1
<ul> 
    <?php foreach (array_slice($items, 0, 3) as $item): ?> 
     <?php if (!isset($item->story)): ?> <!-- hide story updates --> 
      <li> 
      <?php if (isset($item->message)) echo $item->message; ?> 
      </li> 
     <?php endif; ?> 
    <?php endforeach; ?> 
</ul> 

我正在顯示新聞訂閱源,並且只想顯示沒有故事更新的項目。所以我正在使用!isset來檢查故事物品是否存在,並且如果它是隱藏物品。刪除的每個項目不會保持計數正確

這個工作完美,但現在我試圖在Feed中顯示3個結果,但我認爲故事項目仍然在foreach中計數,所以當最近3次更新是故事項目時,Feed中沒有任何內容顯示。

我已閱讀this question這看起來像我想要做的,但我不明白他從哪裏得到$ elementkey變量,以及它做了什麼?

如何從foreach中刪除該項目,並刪除它的計數,以便顯示3個項目?

+1

請告訴我們您的代碼,你試圖實現3個帖子的限制 – Rizier123 2015-02-06 18:51:48

+0

它在一個函數中控制在一個drupal .module文件中,但是同樣可以使用array_slice,我剛剛添加到問題 – Collins 2015-02-06 18:55:26

+0

和...爲什麼你會認爲他們wouldn不算數?.. – 2015-02-06 18:55:48

回答

2

這應該爲你工作:

(在這裏,我只是增加了一個$count變量,如果消息得到的貼,我只有增量和3後,我打破的foreach。)

<ul> 
<?php $count = 0; 
     foreach ($items as $item): ?> 
    <?php if ($count >= 3) break; if (!isset($item->story)): ?> <!-- hide story updates --> 
     <li> 
     <?php if (isset($item->message)) { 
       echo $item->message; 
       $count++; 
       } 
     ?> 
     </li> 
    <?php endif; ?> 
<?php endforeach; ?> 
</ul> 
+0

是的!完善!非常感謝你 – Collins 2015-02-06 19:00:10