[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
"ctype == '1'" Ausgabe von Quellcode im Frontend - 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/
PaxVobisCum
Beiträge: 45
Registriert: 3. Nov 2008, 22:58
Kontaktdaten: ICQ

"ctype == '1'" Ausgabe von Quellcode im Frontend

24. Okt 2009, 23:15

Hi, ich habe folgendes Problem:

Ich möchte in einem Modul Slices aus verschiedenen Artikeln ausgeben.
Mein Ansatz diesbezüglich:

Code: Alles auswählen

<?php
  // aktuelle Kategorie ermitteln
  $cat = OOCategory::getCategoryById($this->getValue("category_id"));   
  // Alle Artikel der Kategorie auslesen, die Online sind
  $articles = $cat->getArticles(true); 
  if (is_array($articles)) {
   for ($i = 0; $i < count($articles); $i++)
	{
		// Startartikel enthalt dieses Modul, deswegen ignorieren
		if ($articles[$i]->getId() != $this->getValue("article_id"))
		{
			$aktArtikelId =  $articles[$i]->getId();	
			$aktArtikel = OOArticle::getArticleById($aktArtikelId);
			// Ersten Artikel ermitteln und ausgeben			
			$mySlice=OOArticleSlice::getFirstSliceForArticle( $aktArtikelId, false);
			echo $mySlice->getSlice();
	  }
	}
  }
?>
Dabei wird aber vor dem erwarteten ersten Slice jedes Artikels

Code: Alles auswählen

ctype == '1' || ($this->ctype == '-1')) { ?>
gesetzt.

Der Tip

Code: Alles auswählen

in der datei "class.rex_article.inc.php" des ordners "redaxo\include\classes\" in Zeile 669 bzw. 671:

Code:
// -------------------------- schreibe content
if ($this->eval === FALSE) echo $this->replaceLinks($this->content);
else eval("?>".$this->content);


durch

Code:
// -------------------------- schreibe content
if ($this->eval === FALSE) echo $this->replaceLinks($this->content);
else $this->content = eval("?>".$this->content);


ergänzen. 
aus http://forum.redaxo.de/sutra73027.html

hat leider nichts gebracht, jemand ne Idee ?

cosmonoid
Beiträge: 13
Registriert: 23. Sep 2009, 19:05

Ähnliche Problematik

23. Nov 2009, 20:42

Ich möchte eine Unternavigation über jquery`s Tabs realisieren. Dazu müssen aber die Artikel aller Unter-Kategorien in je einen div geschrieben werden.

Hier mein Code :

Code: Alles auswählen

			if ($lev2->isOnline()):
				$outS .= '<div id="'.makeAncorlinkName($lev2->getName()).'">';
				foreach($lev2->getArticles() as $lev2A){
					print_r($lev2A); // gibt ein ooarticle Object  aus
					// in der nächsten Zeile musste ich schon das @ Zeichen zur Unterdrückung
					// von Fehlermeldungen verwenden. Ansonsten kam :
					// Warning: Problem with method call - please report this bug 
					if(is_object($slice = @OOArticleSlice::getFirstSliceForArticle($lev2A->getId(),false))){
						$outS .= $slice->getSlice(); // hier wird der unkorrekt geparste Slice beginndend mit ctype == '1' || ($this->ctype == '-1')) { ?> ausgegeben.
					}
				}
				$outS .= '</div>';
			endif;
Genau wie PaxVobisCum habe ich auch den erwähnten Tipp probiert. Ich benutze allerdings weder cTypes noch habe ich Version installiert.

Wenn jemand sachdienliche Hinweise hat bitte hier posten :)

Viele Grüße,
cosmonoid

PaxVobisCum
Beiträge: 45
Registriert: 3. Nov 2008, 22:58
Kontaktdaten: ICQ

Lösung

25. Nov 2009, 20:41

Hi, ich hatte dafür folgende Lösung gefunden:
im file class.ooarticleslice.php die function getSlice() suchen

Code: Alles auswählen

  /**
   * Gibt den Slice formatiert zur¸ck
   * @since 4.1 - 29.05.2008
   */
  function getSlice()
  {
  	// TODO:: ------------------- .' AND revision='.$this->revision
    $art = new rex_article();

    $art->setArticleId($this->getArticleId());
    $art->setClang($this->getClang());
    $art->getSlice = $this->getId();
    return $art->replaceLinks( $art->getArticle() );
  }
und wie folgt ergänzen:

Code: Alles auswählen

  /**
   * Gibt den Slice formatiert zur¸ck
   * @since 4.1 - 29.05.2008
   */
  function getSlice()
  {
  	// TODO:: ------------------- .' AND revision='.$this->revision
    $art = new rex_article();
    $art->setEval(true); 
    $art->setArticleId($this->getArticleId());
    $art->setClang($this->getClang());
    $art->getSlice = $this->getId();
    return $art->replaceLinks( $art->getArticle() );
  }

cosmonoid
Beiträge: 13
Registriert: 23. Sep 2009, 19:05

Gelöst

25. Nov 2009, 20:56

Hi,

vielen Dank für dein Feedback!

Auch wenn ich der Community nur ein `Es hat auch bei mir funktioniert´ zurückgeben kann, wo ich schon oft davon profitiert habe macht mich das stolz :D

Beste Grüße,
cosmonoid

Zurück zu „Allgemeines [R4]“