Отображение RSS-канала с помощью Laravel PHP с помощью SimpleXML


Я хочу отобразить RSS-канал, сохраняя его максимально простым.

Я использую Laravel 4. Вот мой контроллер:

public function getHome()
{
    $content = file_get_contents('http://rss.leparisien.fr/leparisien/rss/paris-75.xml');
    $flux = new SimpleXmlElement($content);

    return View::make('frontend/homepage', compact('flux'));
}

И вот мой взгляд:

@foreach ($flux as $flu)
    <article class="entry-item">
        <img src="{{utf8_decode((string)$flu->item->enclosure['url'])}}" alt="">
        <div class="entry-content">
            <a href="{{ $flu->item->link }}">{{ $flu->item->title }}</a>
            {{ $flu->item->description }}
        </div>
    </article>
@endforeach

Это работает нормально, но только одна статья (пункт) показана. Я попытался найти способ, чтобы получить несколько элементов, отображаемых с помощью SimpleXMLElement:: attributes

Я не могу найти четкого руководства по этому вопросу.

2 2

2 ответа:

Попробуйте это

@foreach ($flux[0]->item->link as $item)
    <article class="entry-item">
        <img src="{{utf8_decode((string)$item->enclosure['url'])}}" alt="">
        <div class="entry-content">
            <a href="{{ $item->link }}">{{ $item->title }}</a>
            {{ $item->description }}
        </div>
    </article>
@endforeach

Потому что у вас есть элементы mutliple

@foreach ($flux->channel->item as $flu)
    <article class="entry-item">
        <img src="{{utf8_decode((string)$flu->enclosure['url'])}}" alt="">
        <div class="entry-content">
            <a href="{{ $flu->item->link }}">{{ $flu->title }}</a>
            {{ $flu->description }}
        </div>
    </article>
@endforeach