Hallo zusammen,
hier noch eine weitere Variante der Artikelliste mit folgenden Funktionen:
- REX_LINK_BUTTON zur einfachen Auswahl der Startartikel (inklusive Korrektur einer fehlerhaften Eingabe)
- Schriftersetzung des Artikelnamens mit sleightofhand
- Artikelbeschreibung aus den Metadaten
Moduleingabe:
Code: Alles auswählen
<b>Startartikel der Kategorie auswählen:</b>
<br />
REX_LINK_BUTTON[1]
Bei leerem Eingabefeld, wird automatisch der Startartikel der aktuellen Kategorieebene verwendet
Modulausgabe:
Code: Alles auswählen
<?php
// Artikelliste bei der nicht geschützte und für den aktuellen Benutzer freigegebene Artikel angezeigt werden.
if (!isset ($_SESSION)) {
session_start();
}
// Rechte des aktuellen Benuzers auslesen
$rechte = explode(",", $_SESSION['tvsfeuser']['feuser']['rights']);
// Alle geschüzten Bereiche aus INI-Datei auslesen
$tvsfeuserIniFile = $REX['INCLUDE_PATH'] . "/addons/tvsfeuser/tvsfeuser.ini";
if (file_exists($tvsfeuserIniFile)) {
$stringData = file_get_contents($tvsfeuserIniFile);
$settings = parse_ini_file($tvsfeuserIniFile);
$rights = $settings['accessRestrictions'];
$gesp_all = explode(",", $rights);
}
// Geschützte für aktuellen Benutzer nicht zugänglichen Artikel ermitteln
$gesch = array_diff($gesp_all, $rechte);
if($REX['REDAXO'] != 1) {
// Ermittlung der Kategorie ID
if ("REX_LINK_ID[1]" != "") {
$cat1 = OOCategory::getCategoryById(REX_LINK_ID[1]);
// REX_LINK_ID[1] ist Startartikel ID welche in REX_LINK_ID[1] steht verarbeiten
if ( $cat1->isStartPage()) $cat = OOCategory::getCategoryById(REX_LINK_ID[1]);
// REX_LINK_ID[1] kein Startartikel -> suche Startartikel zu der in REX_LINK_ID[1] gespeicherten ID
else $cat = OOCategory::getCategoryById($cat1->getValue('re_id'));
}
// leeres REX_LINK_ID[1] Feld -> ermittle Kategorie-ID bei dem das Modul eingetragen ist
else $cat = OOCategory::getCategoryById($this->getValue("category_id"));
// Alle Artikel der Kategorie auslesen, die Online sind
$articles = $cat->getArticles( true );
if ( is_array( $articles) && count( $articles) > 0) {
foreach ( $articles as $article) {
// Den aktuellen Artikel nicht verlinken
if ( $article->getId() == REX_ARTICLE_ID) continue;
// Startartikel ausblenden
if ( $article->isStartPage()) continue;
$artid = $article->getId();
// Geschützte für aktuellen Benutzer nicht zugänglichen Artikel ausblenden
if (in_array($artid, $gesch)) continue;
// Ausgabe der Überschrift
echo a561_sleightofhand(array(
'text' => $article->getName(),
'font' => 'futura.ttf',
'link' => rex_getUrl($artid),
'prefix' => '<h6>',
'suffix' => '</h6>',
'color' => array(255,153,0),
'mouseover' => array(255,153,0),
'size' => '16',
'spacing' => '1.6'
));
echo '<p>'.$article->getValue('art_description').' <a href="'.rex_getUrl($artid).'">Weiter</a></p>';
}
}
}
else
echo "Alle Artikel der Kategorie REX_VALUE[1] ausgeben!";
?>
Als kleines Dankeschön für das beste und einfachste Frontend-User-Login
Viel Spaß damit
Gruß
Himmelreich