2013-07-11 83 views
0

我想重寫RSS提取解析器PHP代碼給Smarty。 Smarty不會爲我工作。有人可以幫我嗎?PHP foreach到Smarty

<ul> 
<?php foreach ($feed['items'] as $item): ?> 
    <li> 
     <a href="<?= $item['link']; ?>"><?= $item['title']; ?></a> 
    </li> 
<?php endforeach; ?> 
</ul> 

我的Smarty代碼更新時間:13年12月7日

{foreach name=aussen item=$feed.items from=$item} 
    <li> 
     <a href="{$item.link}">{$item.title}</a> 
    </li> 
{/foreach} 
+1

是的,但我不是編碼器。邊做邊學,如果人們允許,而不是通過詢問和獲得新手的答覆。如果你檢查聲望-1,你會問自己什麼是存在的stackoverflow?只有專業人士才能成爲尤達大師? – karabey

+0

你需要做一些研究,嘗試自己去做,試着去解決它 - 然後來問問題作爲最後的手段。 –

+0

哦,你是對的Aleks! 「嘗試自己做」什麼是Stackoverflow?你如何知道這不是我的最後一招?如果我已經找到了結果,爲什麼我需要你? – karabey

回答

0

有很多的問題與你的Smarty的代碼。首先,最重要的是,你不應該在同一個文件中使用php邏輯和smarty格式。您應該分別分配smarty變量,然後調用smarty進行格式化。不過,如果你堅持使用現有的東西,你需要考慮以下幾點:

  1. foreach的語法是錯誤的 - 正確的語法是{foreach from=$variable item=$loop_var}

  2. PHP變量無法自動提供在smarty中 - 您需要添加smarty {assign} directive with a combination of {php} echo $ php_var {/ php}`將php變量變爲smarty。

  3. 語法{php}$item['title']{/php}對php來說是無效的語法,會導致語法錯誤。

總的來說,你的方法是有缺陷的。 Smarty適用於MVC應用程序中的演示(視圖)層,並且您正試圖將所有內容組合到一個文件中。別。如果您不確定如何正確設置您的應用程序爲MVC,那麼smarty不適合您。

+0

我想將它實現爲基於Smarty的CMS。這就是爲什麼試圖在Smarty中重寫它。 – karabey