Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Navigationstree als XML
Forum Sefrengo.org > Allgemeine Foren > Entwicklung
Chregu
Hallo Zusammen

Zur zeit überlege ich mir obe ich das nächste Projekt nicht mit einer Flashnavigation realisieren soll. Der Daten austausch (Tree) sollte dabei wie XML-Format an Flash übergehen.
Habe bereits in der API gesucht ob es irgendwo eine Methode gibt, die mir den Tree als XML liefert. Jedoch habe ich aber nicht gefunden.
Gibt es sowas schon? Oder Hat jemand da einmal schon etwas gemacht?

Evtl. wäre es cool, das ganze als Plugin zu entwickeln, da man dort Einstellungen tätigen könnte, wie das XML daher kommen sollte und was für Daten enthalten sein sollen.

Danke für euer Feedback.


Gruss
chris


Tiggr
Hi!

Meine erste dumme Idee wäre ja, die Listennavigation zu verwenden...

Tschüss
Tiggr (aka Marcus)
Chregu
Das war auch meine Idee. Aber irgendwie muss ich eine Seite habe die mir nur das XML-Ausgibt und auch die Aktuelle Seite mitliefert. So wie es aus RSS bekannt ist :-)

Daher denke ich, dass gesamte als Plugin zu entwickeln wäre das beste.
Tiggr
Ich glaub ja immer noch, mit dem passenden Layout müsste das gehen!

Eventuell muss nur ein Parameter übergeben werden, wegen der aktuellen Seite.

Google-Sitemap geht so auch dynamisch:

Layout:
CODE
<CMSPHP>
header("Content-type: text/xml");
echo '<'.'?xml version="1.0" encoding="UTF-8"?'.'>'."\n";
// Funktionen

if (!function_exists('htmlentitydecode')) {
function htmlentitydecode($string) {
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
return strtr ($string, $trans_tbl);
}
}

if (!function_exists('replace_specials')) {
function replace_specials($text) {
$text = stripslashes($text);
if(strcmp('4.3', phpversion()) > 0) {
$text = htmlentitiesdecode($text);
$text = htmlspecialchars(strip_tags($text));
} else {
$hometext = htmlspecialchars(strip_tags(html_entity_decode($hometext)));
}
return $text;
}
}

</CMSPHP>
<cms:lay type="container" id="100" title="Sitemap"/>
<CMSPHP>

// Anker wg. CatWalker Bug entfernen
$mod['manipulate_output'] .= '$output = preg_replace("/<a.+\/a>?>/","",$output);';
// Kommentare der Container entfernen
$mod['manipulate_output'] .= '$output = preg_replace("/<!--.+-->?>/","",$output);';
// Zeilenumbrüche <br> und <br /> entfernen
$mod['manipulate_output'] .= '$output = str_replace("<br>","",$output);';
$mod['manipulate_output'] .= '$output = str_replace("<br />","",$output);';
// Zeitformat umwandeln im <lastmod> Tag
$mod['manipulate_output'] .= '$output = preg_replace("/<lastmod>(..)\.(..)\.(....)<\/lastmod>?>/","<lastmod>\\\\3-\\\\2-\\\\1</lastmod>",$output);';
// date(\'r\',strtotime(\
// Sonderzeichen maskieren, weitere Tags hier ggf. hinzufügen.
$mod['manipulate_output'] .= '$output = preg_replace("/<title>(.+?)<\/title>?>/e","\'<title>\'.replace_specials(\'\\\\1\').\'</title>\'",$output);';
$mod['manipulate_output'] .= '$output = preg_replace("/<description>(.+?)<\/description>?>/e","\'<description>\'.replace_specials(\'\\\\1\').\'</description>\'",$output);';
$mod['manipulate_output'] .= '$output = preg_replace("/<generator>(.+)<\/generator>?>/","<generator>'.replace_specials("$1").'</generator>",$output);';
// realtive in absolute Links zurückwandeln
$mod['manipulate_output'] .= '$output = preg_replace("/<loc>(.+)<\/loc>?>/","<loc>http://www.colorful-sky.de/'.replace_specials("$1").'</loc>",$output);';
$cfg_client['manipulate_output'] = $mod['manipulate_output'].$cfg_client['manipulate_output'];

</CMSPHP>


Und befüllt wird das dann mit dem Categorywalker!

Tschüss
Tiggr (aka Marcus)
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.