[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Artikelteaser - Metadaten andere Sprachen auslesen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Artikelteaser - Metadaten andere Sprachen auslesen

5. Mär 2013, 17:58

Hallo,

Ich benutze folgendes Modul: http://www.redaxo.org/de/download/modul ... &cat_id=-1

Das Modul ist auch echt super aber ich würde gerne das wenn verschiedene Metadaten in anderen Sprachen nicht vorhanden sind (4 sprachige Seite), der automatisch die deutsche nimmt. Dafür habe ich mir das so geschrieben:

Code: Alles auswählen

// Artikel holen fuer Modus
// -> Aktuelle Kategorie und alle darunter
// -> Kategorie wählen und alle darunter
if (($mode == 'tf' || $mode == 'cf') && $cat_id > 0)
{
	$sql = new rex_sql();
//	$sql->debugsql = true;
	$sql->setQuery('SELECT id FROM rex_article WHERE REX_VALUE[15] = "|true|" AND status = "1" AND id != "REX_ARTICLE_ID" AND path LIKE "%|'.$cat_id.'|%" ');
	
	$rows = $sql->getRows();
	if ($rows >= 1)
	{
		for ($i = 1; $i <= $rows; $i++, $sql->next())
		{
			$ooarticle = OOArticle::getArticleById($sql->getValue('id'));
			$ooarticle_2 = OOArticle::getArticleById($sql->getValue('id'), 0);
			
			
			if (ep_checkOnlineDate($date_start_time, $ooarticle->getValue('art_online_from')) )
				$article_list[] = $ooarticle;
		}
	}
}
Der Teil der das ausgibt:

Code: Alles auswählen

$name = $article->getValue('art_teaser_hdl');
			if ($name == '')
				$name = $ooarticle_2->getValue('art_teaser_hdl');
			
		$desc = $article->getValue('art_teaser_text');
			if ($desc == '')
				$desc = $ooarticle_2->getValue('art_teaser_text');
		$file = $article->getValue('art_teaser_file');
			if ($file == '')
				$file = $ooarticle_2->getValue('art_teaser_file');
Nur leider funktioniert das nicht. Weiss da jemand wie ich das machen könnte oder wo bei mir der Wurm drin ist?

Vielen Dank!

Eric

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Artikelteaser - Metadaten andere Sprachen auslesen

5. Mär 2013, 18:05

Hej Eric,

suche

Code: Alles auswählen

$c = 0;
foreach ($article_list as $article)
{

ersetze

Code: Alles auswählen

$c = 0;
foreach ($article_list as $article)
{
	$fallback = OOArticle::getArticleById($article->getId(), 0);
Und dann so.

Code: Alles auswählen

$name = '';	
$name = $article->getValue('art_teaser_hdl');
if ($name == '')
	$name = $fallback->getName();
		
$desc = $article->getValue('art_teaser_text');
if ($desc == '')
	$desc = $fallback->getValue('art_teaser_text');

$file = $article->getValue('art_teaser_file');
if ($file == '')
	$file = $fallback->getValue('art_teaser_file');
vg Thomas

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Artikelteaser - Metadaten andere Sprachen auslesen

6. Mär 2013, 00:09

Hallo Thomas,

Danke, das funktioniert schon super. Das einzige Manko ist das die Sortierfunktion dann nicht mehr greift.

P.S.: Ich sehe das gerade das Modul kommt von dir :D .

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Artikelteaser - Metadaten andere Sprachen auslesen

6. Mär 2013, 08:35

Die Sortierung findet vorher statt.

Wenn dein fallback-Artikel nicht in die Sortierung passt, musst du die article_list[] vor der Sortierung durchgehen und entsprechend anpassen.

vg Thomas

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Artikelteaser - Metadaten andere Sprachen auslesen

7. Mär 2013, 12:19

Hi,

Danke für den Tipp, aber ich finde nicht was ich anpassen soll. leider bin ich da nicht so bewandert.

Ich denke es sollte dieses sein?

Code: Alles auswählen

$ooarticle = OOArticle::getArticleById($sql->getValue('id'));			
			
			if (ep_checkOnlineDate($date_start_time, $ooarticle->getValue('art_online_from')) )
				$article_list[] = $ooarticle;

Zurück zu „Allgemeines [R4]“