2024. március 28., csütörtök

Gyorskeresés

Simplepie FEED item forditottt dátum rendezés

Írta: | Kulcsszavak: PHP . programozás . web . html . simplepie . feed

[ ÚJ BEJEGYZÉS ]

A http://simplepie.org oldalról tölthető le ez a PHP alapú script, amivel saját oldaladon jelenítheted meg külső oldalak cikkeit.

Én egy skis dobozos formában csináltam ezt meg, ami így néz ki:

Ehhez csak egy fájlt kell létrehozni, a neve bármi lehet, az alábbi tartalommal, a letöltött simplepie scriptek gyökérkönyvtárában:

<?php
require_once('autoloader.php');
$feed = new SimplePie();
$feed->set_feed_url('https://prohardver.hu/hirfolyam/anyagok/rss.xml'); //Itt bármelyik weboldal feed-je megadható, amit meg szeretnénk jeleníteni
$feed->enable_order_by_date(false); // Erőltetett dátum szerinti rendezés kikapcsolva
$feed->enable_cache(false); // Cache kapcsoló
$feed->init();
$feed->handle_content_type();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//HU"

<html xmlns
<head>
<title>Sample SimplePie Page</title>
<style>
#contentbox {
border: 2px solid #FF8000;
padding: 5px;
border-radius: 10px;
background-color: #FBF1A4;
color: black;
margin-top: 10px;
margin-bottom: 15px;
margin-left: 20px;
margin-right: 20px;
box-shadow: 5px 5px 20px 2px black;
}


#timedate {
color: red;
margin-left: 3px;
margin-top: 1px;
}


#timedate p{
margin-top: 1px;
margin-bottom: 1px;
}

.contentbox h2, a{
color: #FF8000;
font-size: 0.6em;
text-decoration: none;
margin-bottom: 0px;
}

h2 {
color: #FF8000;
font-size: 1.5em;
text-decoration: none;
margin-bottom: 0px;
}
</style>
</head>
<body>

<?php

foreach ($feed->get_items() as $item):
?>

<div id="contentbox">
<h2><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h2>


<div id="timedate">
....................................................
<p><small>Posztolva <?php echo $item->get_date('Y F j | H:i'); ?></small></p>
</div>
<hr />
<p><?php echo $item->get_description(); ?></p>
</div>
<?php endforeach; ?>

</body>
</html>

A példában a prohardver cikkeket jeleníti meg a cikk időben csökkenő sorrenben. Azaz az új van elöl és a régi hátul.

Én ezt szerettem volna megfordídani, de sehogy nem akartam rátalálni a megoldásra, pedig az rém egyszerű.

Keressük meg a következő részt az előzőekben bemutatott scriptünkben:

<?php

foreach ($feed->get_items() as $item):
?>

Majd cseréljük le erre:
<?php
foreach (array_reverse($feed->get_items()) as $item):
?>

Tehát csak egy (array_reverse kell a ($feed->get_items() elé és egy plusz ) zárójel mögé és már kész is.

A kapott kódot töltsük fel az értelmezőbe és az eredmény:

Reverse módon, azaz fordítottan kapjuk meg az eredményt. A régebben dátumozott cikkek elöl lesznek.
Sajnos én ezt a lehetőséget fél napig kerestem :D

Copyright © 2000-2024 PROHARDVER Informatikai Kft.