Seite 1 von 1

Tags eines Artikels ausgeben

Verfasst: Mo 27. Jul 2020, 14:34
von snixzz
Liebe Contenido-Community,

Ich verwende für's Tagging zum ersten mal das Plugin "Content Allocation". Mit diesen Tags sollte später eine Übersichtsseite frontend-seitig gefiltert werden können.

Aktuell scheitere ich daran, den ausgewählten Tag eines Artikels auszugeben.

content-team_output.php

Code: Alles auswählen


// get team members
$sql = "SELECT idartlang FROM con_art_lang
INNER JOIN con_cat_art ON con_art_lang.idart = con_cat_art.idart
INNER JOIN con_cat_lang ON con_cat_art.idcat = con_cat_lang.idcat
WHERE con_cat_art.idcat = 19
AND con_art_lang.online = 1
ORDER BY con_art_lang.artsort DESC";

$db->query($sql); 

$teamMembers = [];

while ($db->nextRecord()) {
    $eIdartLang = $db->f('idartlang');
    $art = new cApiArticleLanguage($db->f('idartlang'));
    $entry = new stdClass();

    // get content
    $entry->name =  $art->getContent('text', 1);
    $entry->text =  $art->getContent('html', 2);
    $entry->tel =  $art->getContent('text', 2);
    $entry->email =  $art->getContent('text', 3);
    
    // wie erhalte ich die ausgewählten Tags?
    
    array_push($teamMembers, $entry);
}

Den Inhalt des Artikels kann ich auslesen. Wie kann ich auf die ausgewählten Tags innerhalb der Abfrage zugreifen?

Liebe Grüsse,
Marco

Re: Tags eines Artikels ausgeben

Verfasst: Mo 27. Jul 2020, 17:55
von Oldperl
Servus,

Du kannst dafür die Methode loadAllocations($idartlang) der Klasse pApiContentAllocation des Plugins nutzen.
Hier der Link zum API-Eintrag :arrow: https://api.contenido.org/latest/class- ... ation.html

Gruß aus Franken

Ortwin

Re: Tags eines Artikels ausgeben

Verfasst: Di 28. Jul 2020, 08:26
von snixzz
Oldperl hat geschrieben:
Mo 27. Jul 2020, 17:55
Servus,

Du kannst dafür die Methode loadAllocations($idartlang) der Klasse pApiContentAllocation des Plugins nutzen.
Hier der Link zum API-Eintrag :arrow: https://api.contenido.org/latest/class- ... ation.html

Gruß aus Franken

Ortwin
Vielen Dank Ortwin für deine rasche Antwort.

Funktioniert einwandfrei.

Hier noch der Code für alle mit dem selben Problem:

Code: Alles auswählen


plugin_include('content_allocation', 'classes/class.content_allocation.php');
$tagHelper = new pApiContentAllocation();

// get team members
$sql = "SELECT idartlang FROM con_art_lang
INNER JOIN con_cat_art ON con_art_lang.idart = con_cat_art.idart
INNER JOIN con_cat_lang ON con_cat_art.idcat = con_cat_lang.idcat
WHERE con_cat_art.idcat = 19
AND con_art_lang.online = 1
ORDER BY con_art_lang.artsort DESC";

$db->query($sql); 

$teamMembers = [];

while ($db->nextRecord()) {
    $eIdartLang = $db->f('idartlang');
    $art = new cApiArticleLanguage($eIdartLang);
    $entry = new stdClass();

    // get content
    $entry->name =  $art->getContent('text', 1);
    $entry->text =  $art->getContent('html', 2);
    $entry->tel =  $art->getContent('text', 2);
    $entry->email =  $art->getContent('text', 3);
    
    // get tags
    $entry->tags = $tagHelper->loadAllocations($eIdartLang);

    array_push($teamMembers, $entry);
}

Liebe Grüsse aus der Schweiz,
Marco