Hallo Zusammen,
Ich gebe Artikel in einer Liste aus. Die hole ich mir mit
$article = new cApiArticleLanguage();
$article->loadByArticleAndLanguageId($idart, $lang);
Im Artikel (von dem ich hole) habe ich auch den Link Content Type verwendet CMS _LINKEDITOR[1]
Nun funktioniert es aber scheinbar nicht, den Link und die Link Beschreibung alleine zu holen.
Folgendes geht nicht.
$link = $article->getContent('CMS_LINK',1);
Kann mir jemand sagen wie ich auf diese weise den Link und die Beschreibung einzeln holen kann.
An die Entwickler:
Währe es nicht möglich, das CMS_LINK so zu bauen das er auch noch in der alten Version funktioniert?
Hab mich da schon so dran gewöhnt und brauche auch oft im Backend die Link Daten einzeln.
Grüße Ralf
CMS_LINK Contenido 4.9
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: CMS_LINK Contenido 4.9
Folgendes sollte für interne Links funktionieren (für andere müsste man das noch etwas erweitern):
Ich fände aber auch schöner, wenn die Klasse cApiArticleLanguage damit selbst umgehen könnte.
Code: Alles auswählen
<?php
$article = new cApiArticleLanguage();
$article->loadByArticleAndLanguageId($idart, $lang);
$linkXml = $article->getContent('LINKEDITOR', 1);
$linkArray = cXmlBase::xmlStringToArray($linkXml);
if ($linkArray['type'] == 'internal') {
$link = $sess->url('front_content.php?idart=' . $linkArray['idart']);
}
?>
Re: CMS_LINK Contenido 4.9
Danke dir Dodger77,
Auf diese Funktion bin ich inzwischen auch gestoßen.
Was dabei aber bei mir wichtig wahr, ist das man bevor man cXmlBase::xmlStringToArray ausführt, prüfen muss ob auch Daten in $linkXml vorhanden sind, sonst bricht die Articleschleife ab.
Ich habe mir dafür jetzt eine kleine Funktion geschrieben.
Auf diese Funktion bin ich inzwischen auch gestoßen.
Was dabei aber bei mir wichtig wahr, ist das man bevor man cXmlBase::xmlStringToArray ausführt, prüfen muss ob auch Daten in $linkXml vorhanden sind, sonst bricht die Articleschleife ab.
Ich habe mir dafür jetzt eine kleine Funktion geschrieben.
Code: Alles auswählen
function getxmlLink($xmlstr){
global $client, $lang;
if($xmlstr){
$linkarray = cXmlBase::xmlStringToArray($xmlstr);
if($linkarray['type'] == 'internal'){
$params = array('idart' => $linkarray['idart'], 'client' => $client, 'lang' => $lang);
$data['link'] = cUri::getInstance()->build($params);
}
else if($linkarray['type'] == 'external') $data['link'] = $linkarray['externallink'] ;
else if($linkarray['type'] == 'file') $data['link'] = '/cms/upload/'.$linkarray['filename'] ;
else $data['link'] = false;
if($linkarray['newwindow'] == true) $data['target'] = '_blank';
if($linkarray['title'] != "") $data['text'] = $linkarray['title'];
return $data;
}else return false;
}
Re: CMS_LINK Contenido 4.9
Vielen Dank für die Funktion, funktioniert einwandfrei