SimpleXML Rss Feed如何使用PHP将图像解析为Smarty Template?

时间:2019-02-15 09:11:33

标签: php image rss smarty feed

嗨,我有一个来自WP Blog的simplexml提要,但是似乎无法通过链接传递图像。

我在下面的*.php*.tpl文件中粘贴了我的文件。我已经尝试了好几种方法,但是由于html中的图像源仍然为空,因此似乎无法显示图像。有人可以提供有效的代码吗? 我在PHP代码中有此代码:

    public function hookDisplayFooter($params)
{
    // Conf
    $title = strval(Configuration::get('RSS_FEED_TITLE'));
    $url = strval(Configuration::get('RSS_FEED_URL'));
    $nb = (int) (Configuration::get('RSS_FEED_NBR')) ? (int) (Configuration::get('RSS_FEED_NBR')) : 5;



    $cacheId = $this->getCacheId($this->name . '|' . date("YmdH"));
    if (!$this->isCached($this->templateFile, $cacheId)) {
        $rss_links = array();
        if ($url && ($contents = Tools::file_get_contents($url))) {
            try {
                $xml = new SimpleXMLElement($contents);
                $loop = 0;
                if (!empty($xml->channel->item)) {
                    foreach ($xml->channel->item as $item) {
                        if (++$loop > $nb) {
                            break;
                        }
                        $rss_links[] = (array)$item;
                    }
                }
            } catch (Exception $e) {
                Tools::dieOrLog($this->trans('Error: invalid RSS feed in "%module_name%" module: %message%', array('%module_name%' => $this->name, '%message%' => $e->getMessage()), 'Modules.Rssfeed.Admin'));
            }
        }



        $this->smarty->assign(array(
            'title' => ($title ? $title : $this->trans('RSS feed', array(), 'Modules.Rssfeed.Admin')),
            'rss_links' => $rss_links
        ));
    }

    return $this->fetch($this->templateFile, $cacheId);
}

这在Smarty tpl文件中:

  <div>
{if $rss_links}
  <ul>
    {foreach from=$rss_links item='rss_link'}
    <div><img src="{$rss_link['image']}" width="50px" height="50px" ></div>
      <li><div><a href="{$rss_link['link']}" title="{$rss_link['title']}" target="_blank">{$rss_link['title']} </a></li>
    <a href="{$rss_link['link']}" class="more-blog">Continue Reading ></a></li><p> </p>
    {/foreach}
        </ul></div>
{else}
  <p>{l s='No RSS feed added' d='Shop.Theme.Catalog'}</p>
{/if}

0 个答案:

没有答案