Tfe

Ongi etorri tfe-ren webgunera...

2024-08-16-ean

Erakutsi mastodonen postak symfony blog batean

Ez dut asko idazten mastodon.eus-en. Hala ere idazten nuena nire blogean agertzea nahi nuen.
Horregatik funtzionalitate berri bat gehitu dut, eta aitortu behar dut oso erraza izan dela:
Mastodonek edozein bezerori esteka bat eskaintzen dio bere postak lortzeko. Adibidez, nire kasuan "tfe" izena duen kontu bat dut mastodon.eusen, eta informazio guztia lor dezaket https://mastodon.eus/@tfe.rss-ren esteka bidez.

Lehen etapa: gehitu konfigurazio bat config/services.yaml fitxategian, adibidez:

parameters:
  mastodon_feed: 'https://mastodon.eus/@tfe.rss'

 

Bigarren etapa: Aldatu controladorea rss-feed-en edukia lortzeko:

            // Irakurri konfigurazioa
            $mastodon_rss = $this->getParameter('mastodon_feed');
            $mastodon_items=[];

            // Cache objektu berri bat sortu feed-a gordetzeko
            $cache = new FilesystemAdapter();
            $cached = $cache->getItem('mastodon_feed');
            $cached->expiresAfter(3600); /* ordu bat */

            // Cache ez badugu...
            if(!$cached->isHit()) {
                if($mastodon_feed = simplexml_load_string(file_get_contents($mastodon_rss)))
                {   
                    foreach($mastodon_feed->channel->item as $item)
                    {   
                        $mastodon_items[]=(array)$item;
                    }
                    $cached->set($mastodon_items);
                    $cache->save($cached);
                    $mastodon_items = $cached->get();
                }
            }
            return $this->render('blog/index.html.twig', [
                'extra_css' => ['blog.css'],
                'title' => 'Blog',
                'mastodon_items' => $mastodon_items,
                'items'         => $last_news,
            ]);

 

Irugarren etapa, noski: aldatu index.html.twig fitxategia, mastodon_items  aldagaiaren edukia erabiltzeko:

        <div class="mastodon_items">
            <h2>Mastodon feed</h2>
            {% for item in mastodon_items %}
            <article>
                {{ item.description|raw }}
                <a class="mastodon_link" href="{{ item.link }}" target="_blank">Ireki mastodon.eus-en </a>
            </article>
            {% endfor %}
        </div>

Erraza ezta?

 

Tags: Bloga Web PHP Euskera