[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XML-Deklaration führt zu Fehler - 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/
Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

XML-Deklaration führt zu Fehler

22. Okt 2008, 13:09

Hallo liebe Gemeinde,

mein derzeitiges Problem ist die XML-Daklaration am Anfang des Moduls.
Bzw. das "<"-Zeichen. Imerr wenn ich es in den php-Code einfüge führt das zu einem unexpected T_String-Error...

Ich habs es jetzt schon in drei unterschiedlichen Varianten versucht, lass ich das "<" weg funzt es, füge ich es hinzu: ERROR :evil:

Hier meine Varianten, freue mich wenn irgendwer ne schlaue Idee hat.

Code: Alles auswählen

$xml_header = <<<EOL
<?xml version"1.0" encoding="UTF-8" ?>
EOL;

Code: Alles auswählen

$xml_header = '<'.?xml version="1.0" encoding="UTF-8" ?'.'>';

Code: Alles auswählen

$xml_header_start = '<?';
$xml_header_center = 'xml version="1.0" encoding="UTF-8" ?';
$xml_header_end = '>';
$xml_header = $xml_header_start.$xml_header_center.$xml_header_end;
Gruß elricco

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

22. Okt 2008, 13:48

Hej,

probier einmal das:

Code: Alles auswählen

<?php
if (!$REX['REDAXO']){
  header("Content-type: application/xml");
  echo '<'.'?xml version="1.0" encoding="ISO-8859-1" ?'.'>';
}
?>
vg Thomas

Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

22. Okt 2008, 14:46

Hi Thomas,

danke dafür, aber leider produziert das Ganze überhaupt keinen Header.
Ich meine jetzt funktioniert das Ganze und ich weiß mal wieder nicht warum.

Ich poste hier trotzdem mal den gesamte Code, falls es jemand gebrauchen kann.

XML File aus Module heraus, Artikelname = XML-Dateiname + Zwei Sprachen, ließe sich auch durch eine Switch-Anweisung unendlich erweitern.

Code: Alles auswählen

<?php
$article = OOArticle::getArticlebyID($this->getValue(article_id));
$xml_file_name = $article->getName();
$xml_file_name = strtolower($xml_file_name);

if ($REX['CUR_CLANG']==0) {
$xml_file_lang = '_de';
}
else {
$xml_file_lang = '_en';
}

$xmlFile = $xml_file_name.$xml_file_lang;

$categories = OOCategory::getRootCategories(false, $REX['CUR_CLANG']);

$xmlcontent = '';

$xml_header = <<<EOL
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
EOL;

$xmlcontent = $xml_header."\n";
$xmlcontent .= '<content>'."\n";

//Inhalt XML-Datei zusammenstellen
foreach ($categories as $category) {
	$articles = $category->getArticles(true);
	foreach ($articles as $article) {
		$id = $article->getId();
		if ($article->isStartArticle()) {
			$slice = OOArticleSlice::getFirstSliceForArticle($id);
			$labels = $slice->getValue(1);
			$layers = $slice->getValue(2);
			$posX = $slice->getValue(3);
			$posY = $slice->getValue(4);
			$xmlcontent .= '<mainButt posX="'.$posX.'" posY="'.$posY.'" layers="'.$layers.'"><![CDATA['.$labels.']]></mainButt>'."\n";
		}
	}
};

$xmlcontent .= '</content>';

//XML-File schreiben
$xml_file = '../files/'.$xmlFile.'.xml';
$fp = fopen($xml_file, 'w');

$write2xml  = $xmlcontent;

fwrite($fp, $write2xml);

fclose($fp);

echo "Die Datei <font color=\"990000\">".$xmlFile.".xml</font> wurde erfolgreich erzeugt.<br />";
?>

Zurück zu „Allgemeines [R4]“