unterschied zu vpSitemap:
- -kategorien werden nur als link dargestellt wenn sie einen startartikel haben
-sortierung der kategorien innerhalb ihrer level moeglich
-wenn gewuenscht werden artikel unterhalb der kategorien aufgelistet, mit sortierujng begrenzung...
beschreibungSitemapExtended
inputkategorien
----------
-listet alle kategorien mit hilfe der html-listen unterhalb der konfigurierten kategorie auf
-gelistet werden kategorien die online und public sind
-begrenzung der anzahl der level unterhalb der konfigurierten kategorie die angezeigt werden sollen ist moeglich
-kategorien mit startartikel werden als link dargestellt
-kategorien koennen je nach level seperat mittels css-tag formatiert werden
-eine sortierung der kategorien innerhalb der level ist moeglich
artikel
----------
-listet alle artikel unterhalb der kategorie mit hilfe der html-listen auf
-gelistet werden artikel die online sind
-moeglichkeit startartikel ein- oder auszuschliessen
-eine sortierung der artikel ist moeglich
-der ausgelese artikel-head kann in der laenge begrenzt werden
-die anzahl der aufgelisteten artikel kann begrenzt werden
Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname: SitemapExtended
* Author(s): Rene Hankel
* Copyright: michse
* Created: 2007.04.12
* Version: 0.2
*
************************************************/
//----------------------------------------------------------------
// get vars
unset($lo_set);
$lo_set = array();
// kategorie
$lo_set["Cat_Id"] = "CMS_VALUE[0]";
$lo_set["Cat_Level"] = "CMS_VALUE[1]";
$lo_set["Cat_SortBy"] = "CMS_VALUE[2]";
$lo_set["Cat_SortDir"] = "CMS_VALUE[3]";
$lo_set["Cat_CssPrefix"] = "CMS_VALUE[4]";
// artikel
$lo_set["Art_Show"] = "CMS_VALUE[10]";
$lo_set["Art_SortBy"] = "CMS_VALUE[11]";
$lo_set["Art_SortDir"] = "CMS_VALUE[12]";
$lo_set["Art_MaxArt"] = "CMS_VALUE[13]";
$lo_set["Art_MaxChar"] = "CMS_VALUE[14]";
$lo_set["Art_IncStart"] = "CMS_VALUE[15]";
$lo_set["Art_CssPrefix"] = "CMS_VALUE[16]";
//----------------------------------------------------------------
// standart
// kategorie
$lo_default_cat_level = 1;
$lo_default_cat_sortby = 'CAT_TREE.idtree';
$lo_default_cat_sortdir = 'desc';
$lo_default_cat_cssprefix = 'sitemapext_cat';
// artikel
$lo_default_art_sortby = 'created';
$lo_default_art_sortdir = 'desc';
$lo_default_art_maxart = 50;
$lo_default_art_maxchar = 200;
$lo_default_art_cssprefix = 'sitemapext_art';
//----------------------------------------------------------------
// test
// cat - level
if( (int)$lo_set["Cat_Level"] <= 0 )
{ $lo_set["Cat_Level"] = $lo_default_cat_level; }
// cat - sortby
if(
($lo_set["Cat_SortBy"] != 'CAT_TREE.idtree') &&
($lo_set["Cat_SortBy"] != 'CAT_LANG.Name') &&
($lo_set["Cat_SortBy"] != 'CAT.created') &&
($lo_set["Cat_SortBy"] != 'CAT.lastmodified')
)
{ $lo_set["Cat_SortBy"] = $lo_default_cat_sortby; }
// cat - sortdir
if( ($lo_set["Cat_SortDir"] != 'desc') && ($lo_set["Cat_SortDir"] != 'asc') )
{ $lo_set["Cat_SortDir"] = $lo_default_cat_sortdir; }
// cat - cssprefix
if( strlen($lo_set["Cat_CssPrefix"]) == 0 )
{ $lo_set["Cat_CssPrefix"] = $lo_default_cat_cssprefix; }
//-------------------
// art - sortby
if(
($lo_set["Art_SortBy"] != 'created') &&
($lo_set["Art_SortBy"] != 'lastmodified') &&
($lo_set["Art_SortBy"] != 'published') &&
($lo_set["Art_SortBy"] != 'artsort') &&
($lo_set["Art_SortBy"] != 'title')
)
{ $lo_set["Art_SortBy"] = $lo_default_art_sortby; }
// art - sortdir
if( ($lo_set["Art_SortDir"] != 'desc') && ($lo_set["Art_SortDir"] != 'asc') )
{ $lo_set["Art_SortDir"] = $lo_default_art_sortdir; }
// art - max art
if( (int)$lo_set["Art_MaxArt"] <= 0 )
{ $lo_set["Art_MaxArt"] = $lo_default_art_maxart; }
// art - maxchar
if( (int)$lo_set["Art_MaxChar"] <= 0 )
{ $lo_set["Art_MaxChar"] = $lo_default_art_maxchar; }
// art - cssprefix
if( strlen($lo_set["Art_CssPrefix"]) == 0 )
{ $lo_set["Art_CssPrefix"] = $lo_default_art_cssprefix; }
//----------------------------------------------------------------
// konfig
//----------------------------------------------------------------
echo '<table cellspacing="0" cellpadding="5" border="0">'."\n";
//----------------------------------------------------------------
// ueberschrift kategorieoptionen
echo '<tr><td colspan="2"><strong>'.mi18n("Kategorieoptionen").'</strong></td></tr>'."\n";
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// cat - id
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px">'.mi18n("Kategorie auswählen").': </td>'."\n";
echo ' <td class="text_medium" style="padding:5px">';
echo buildCategorySelect("CMS_VAR[0]", $lo_set["Cat_Id"]);
echo ' <input type="image" src="images/submit.gif">';
echo ' '.mi18n("Wenn keine Kategorie ausgewählt ist, zeige alle");
echo ' </td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// cat - level
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Zeige max. Kategorielevel").':</td>'."\n";
echo ' <td style="padding:5px;"><input maxlength="2" type="text" name="CMS_VAR[1]" value="'.$lo_set["Cat_Level"].'"></td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
//----------------------------------------------------------------
// trennlinie
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// cat - sortby
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Sortiere nach").':</td>'."\n";
echo ' <td class="text_medium" style="padding:5px">';
echo ' <select name="CMS_VAR[2]">'."\n";
// categorie
if( ($lo_set["Cat_SortBy"] == '') || ($lo_set["Cat_SortBy"] == 'CAT_TREE.idtree') )
{ echo '<option value="CAT_TREE.idtree" selected>'.mi18n("Kategorie-ID im Kategoriebaum").'</option>'."\n"; }
else
{ echo '<option value="CAT_TREE.idtree">'.mi18n("Kategorie-ID im Kategoriebaum").'</option>'."\n"; }
// name der categorie
if( $lo_set["Cat_SortBy"] == 'CAT_LANG.Name' )
{ echo '<option value="CAT_LANG.Name" selected>'.mi18n("Name der Kategorie").'</option>'."\n"; }
else
{ echo '<option value="CAT_LANG.Name">'.mi18n("Name der Kategorie").'</option>'."\n"; }
// letzte aenderung
if( $lo_set["Cat_SortBy"] == 'CAT.lastmodified' )
{ echo '<option value="CAT.lastmodified" selected>'.mi18n("Änderungsdatum").'</option>'."\n"; }
else
{ echo '<option value="CAT.lastmodified">'.mi18n("Änderungsdatum").'</option>'."\n"; }
// erstellt
if( $lo_set["Cat_SortBy"] == 'CAT.created' )
{ echo '<option value="CAT.created" selected>'.mi18n("Erstellungsdatum").'</option>'."\n"; }
else
{ echo '<option value="CAT.created">'.mi18n("Erstellungsdatum").'</option>'."\n"; }
echo ' </select>'."\n";
echo ' </td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// cat - sortdir
echo '</tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("aufsteigend sortieren").':</td>'."\n";
echo ' <td style="padding:5px;">'."\n";
if( strtolower($lo_set["Cat_SortDir"]) == 'desc' )
{ echo '<input type="radio" name="CMS_VAR[3]" value="asc"/>'."\n"; }
else
{ echo '<input type="radio" name="CMS_VAR[3]" value="asc" checked/>'."\n"; }
echo ' </td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("absteigend sortieren").':</td>'."\n";
echo ' <td style="padding:5px;">'."\n";
if( strtolower($lo_set["Cat_SortDir"]) == 'desc' )
{ echo '<input type="radio" name="CMS_VAR[3]" value="desc" checked/>'."\n"; }
else
{ echo '<input type="radio" name="CMS_VAR[3]" value="desc"/>'."\n"; }
echo ' </td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// trennlinie
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// cat - cssprefix
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Präfix für CSS-Klasse der Kategorieliste").':</td>'."\n";
echo ' <td style="padding:5px;"><input type="text" name="CMS_VAR[4]" value="'.$lo_set["Cat_CssPrefix"].'">';
echo mi18n("Bezeichnung der CSS-Klasse wird durch Nummer des Levels erweitert. z.B.: sitemapext_cat_0");
echo ' </td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
//----------------------------------------------------------------
//----------------------------------------------------------------
// ueberschrift artikeloptionen
echo '<tr><td colspan="2"> </td></tr>'."\n";
echo '<tr><td colspan="2"><strong>'.mi18n("Artikeloptionen").'</strong></td></tr>'."\n";
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// art - show
echo '<tr>'."\n";
echo '<td class="text_medium" style="padding:5px;">'.mi18n("Artikel unterhalb der Kategorien anzeigen").':</td>'."\n";
echo ' <td style="padding:5px;"><input type="checkbox" name="CMS_VAR[10]" value="true"';
if( $lo_set["Art_Show"] == 'true' )
{ echo ' checked'; }
echo '></td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// art - sortby
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Sortiere nach").':</td>'."\n";
echo ' <td class="text_medium" style="padding:5px">';
echo ' <select name="CMS_VAR[11]">'."\n";
// erstellungszeit
if( ($lo_set["Art_SortBy"] == '') || ($lo_set["Art_SortBy"] == 'created') )
{ echo '<option value="created" selected>'.mi18n("Erstellungsdatum").'</option>'."\n"; }
else
{ echo '<option value="created">'.mi18n("Erstellungsdatum").'</option>'."\n"; }
// letzte aenderung
if( $lo_set["Art_SortBy"] == 'lastmodified' )
{ echo '<option value="lastmodified" selected>'.mi18n("Änderungsdatum").'</option>'."\n"; }
else
{ echo '<option value="lastmodified">'.mi18n("Änderungsdatum").'</option>'."\n"; }
// veroeffentlichungs datum
if( $lo_set["Art_SortBy"] == 'published' )
{ echo '<option value="published" selected>'.mi18n("Veröffentlichungsdatum").'</option>'."\n"; }
else
{ echo '<option value="published">'.mi18n("Veröffentlichungsdatum").'</option>'."\n"; }
// artikelsorierung
if( $lo_set["Art_SortBy"] == 'artsort' )
{ echo '<option value="artsort" selected>'.mi18n("Artikelsortierung").'</option>'."\n"; }
else
{ echo '<option value="artsort">'.mi18n("Artikelsortierung").'</option>'."\n"; }
// title
if( $lo_set["Art_SortBy"] == 'title' )
{ echo '<option value="title" selected>'.mi18n("Titel").'</option>'."\n"; }
else
{ echo '<option value="title">'.mi18n("Titel").'</option>'."\n"; }
echo ' </select>'."\n";
echo ' </td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// art - sortdir
echo '</tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("aufsteigend sortieren").':</td>'."\n";
echo ' <td style="padding:5px;">'."\n";
if( strtolower($lo_set["Art_SortDir"]) == 'desc' )
{ echo '<input type="radio" name="CMS_VAR[12]" value="asc"/>'."\n"; }
else
{ echo '<input type="radio" name="CMS_VAR[12]" value="asc" checked/>'."\n"; }
echo ' </td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("absteigend sortieren").':</td>'."\n";
echo ' <td style="padding:5px;">'."\n";
if( strtolower($lo_set["Art_SortDir"]) == 'desc' )
{ echo '<input type="radio" name="CMS_VAR[12]" value="desc" checked/>'."\n"; }
else
{ echo '<input type="radio" name="CMS_VAR[12]" value="desc"/>'."\n"; }
echo ' </td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// trennlinie
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// art - maxart, maxchar
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Zeige max Artikel").':</td>'."\n";
echo ' <td style="padding:5px;"><input type="text" name="CMS_VAR[13]" value="'.$lo_set["Art_MaxArt"].'"></td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Zeige max Zeichen im Artikeltitel").':</td>'."\n";
echo ' <td style="padding:5px;"><input type="text" name="CMS_VAR[14]" value="'.$lo_set["Art_MaxChar"].'"></td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// trennlinie
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// art - incstart
echo '<tr>'."\n";
echo '<td class="text_medium" style="padding:5px;">'.mi18n("Schließe Startartikel in Artikelliste ein").':</td>'."\n";
echo ' <td style="padding:5px;"><input type="checkbox" name="CMS_VAR[15]" value="true"';
if( $lo_set["Art_IncStart"] == 'true' )
{ echo ' checked'; }
echo '></td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
// trennlinie
echo '<tr><td colspan="2"><hr></td></tr>'."\n";
//----------------------------------------------------------------
// cat - cssprefix
echo '<tr>'."\n";
echo ' <td class="text_medium" style="padding:5px;">'.mi18n("Präfix für CSS-Klasse der Artikelliste").':</td>'."\n";
echo ' <td style="padding:5px;"><input type="text" name="CMS_VAR[16]" value="'.$lo_set["Art_CssPrefix"].'">';
echo mi18n("Bezeichnung der CSS-Klasse wird durch Nummer des Levels erweitert. z.B.: sitemapext_art_0");
echo ' </td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo '</table>'."\n";
?><?php
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname: SitemapExtended
* Author(s): Rene Hankel
* Copyright: michse
* Created: 2007.04.12
* Version: 0.2
*
************************************************/
//----------------------------------------------------------------
// Includes
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
//----------------------------------------------------------------
// get vars
unset($lo_set);
$lo_set = array();
// kategorie
$lo_set["Cat_Id"] = "CMS_VALUE[0]";
$lo_set["Cat_Level"] = "CMS_VALUE[1]";
$lo_set["Cat_SortBy"] = "CMS_VALUE[2]";
$lo_set["Cat_SortDir"] = "CMS_VALUE[3]";
$lo_set["Cat_CssPrefix"] = "CMS_VALUE[4]";
// artikel
$lo_set["Art_Show"] = "CMS_VALUE[10]";
$lo_set["Art_SortBy"] = "CMS_VALUE[11]";
$lo_set["Art_SortDir"] = "CMS_VALUE[12]";
$lo_set["Art_MaxArt"] = "CMS_VALUE[13]";
$lo_set["Art_MaxChar"] = "CMS_VALUE[14]";
$lo_set["Art_IncStart"] = "CMS_VALUE[15]";
$lo_set["Art_CssPrefix"] = "CMS_VALUE[16]";
//----------------------------------------------------------------
// standart
// kategorie
$lo_default_cat_level = 1;
$lo_default_cat_sortby = 'CAT_TREE.idtree';
$lo_default_cat_sortdir = 'desc';
$lo_default_cat_cssprefix = 'sitemapext_cat';
// artikel
$lo_default_art_sortby = 'created';
$lo_default_art_sortdir = 'desc';
$lo_default_art_maxart = 50;
$lo_default_art_maxchar = 200;
$lo_default_art_cssprefix = 'sitemapext_art';
//----------------------------------------------------------------
// test
// cat - level
if( (int)$lo_set["Cat_Level"] <= 0 )
{ $lo_set["Cat_Level"] = $lo_default_cat_level; }
// cat - sortby
if(
($lo_set["Cat_SortBy"] != 'CAT_TREE.idtree') &&
($lo_set["Cat_SortBy"] != 'CAT_LANG.Name') &&
($lo_set["Cat_SortBy"] != 'CAT.created') &&
($lo_set["Cat_SortBy"] != 'CAT.lastmodified')
)
{ $lo_set["Cat_SortBy"] = $lo_default_cat_sortby; }
// cat - sortdir
if( ($lo_set["Cat_SortDir"] != 'desc') && ($lo_set["Cat_SortDir"] != 'asc') )
{ $lo_set["Cat_SortDir"] = $lo_default_cat_sortdir; }
// cat - cssprefix
if( strlen($lo_set["Cat_CssPrefix"]) == 0 )
{ $lo_set["Cat_CssPrefix"] = $lo_default_cat_cssprefix; }
//-------------------
// art - sortby
if(
($lo_set["Art_SortBy"] != 'created') &&
($lo_set["Art_SortBy"] != 'lastmodified') &&
($lo_set["Art_SortBy"] != 'published') &&
($lo_set["Art_SortBy"] != 'artsort') &&
($lo_set["Art_SortBy"] != 'title')
)
{ $lo_set["Art_SortBy"] = $lo_default_art_sortby; }
// art - sortdir
if( ($lo_set["Art_SortDir"] != 'desc') && ($lo_set["Art_SortDir"] != 'asc') )
{ $lo_set["Art_SortDir"] = $lo_default_art_sortdir; }
// art - max art
if( (int)$lo_set["Art_MaxArt"] <= 0 )
{ $lo_set["Art_MaxArt"] = $lo_default_art_maxart; }
// art - maxchar
if( (int)$lo_set["Art_MaxChar"] <= 0 )
{ $lo_set["Art_MaxChar"] = $lo_default_art_maxchar; }
// art - cssprefix
if( strlen($lo_set["Art_CssPrefix"]) == 0 )
{ $lo_set["Art_CssPrefix"] = $lo_default_art_cssprefix; }
//----------------------------------------------------------------
// wenn funktion noch nicht existiert -> erstellen
if( !function_exists('SitemapExtended') )
{
/**
* rekursive funktion zum aufbau eines sitemapbaumes mit listung artikel
*
* @param int $lo_kat id der kategorie die als liste aufgebaut werden soll
* @param int $lo_level interne var um css-listen-klassen und html-quelltext zu formatieren
* @return string listen mit ergebnis
*/
function SitemapExtended($lo_kat = 0, $lo_level = 0)
{
global $sess, $lang, $client, $cfg, $lo_set;
$lo_run = 0;
$lo_limitart = 0;
$lo_sql = '';
$lo_result = '';
$lo_arthead = '';
$lo_options = array();
$lo_dbobj;
$lo_artlist;
$lo_article;
// ist db-objekt auch objekt?
if ( !is_object($lo_dbobj) )
{ $lo_dbobj = new DB_Contenido; }
$lo_sql = 'SELECT ';
$lo_sql.= ' CAT_TREE.level, ';
$lo_sql.= ' CAT.idcat, CAT.idclient, CAT.parentid, ';
$lo_sql.= ' CAT_LANG.Name, ';
$lo_sql.= ' count(CAT_LANG_PARENT.idcat) AS count_subcat, ';
$lo_sql.= ' if(count(ART_LANG.idartlang), 1, 0) AS artexist, ';
$lo_sql.= ' if(count(ART_LANG_START.idartlang), 1, 0) AS startartexist ';
$lo_sql.= 'FROM '.$cfg["tab"]["cat_tree"].' AS CAT_TREE ';
$lo_sql.= 'LEFT OUTER JOIN '.$cfg["tab"]["cat"].' AS CAT ';
$lo_sql.= ' ON CAT_TREE.idcat = CAT.idcat ';
$lo_sql.= 'LEFT OUTER JOIN '.$cfg["tab"]["cat_lang"].' AS CAT_LANG ';
$lo_sql.= ' ON CAT.idcat = CAT_LANG.idcat ';
$lo_sql.= 'LEFT OUTER JOIN '.$cfg["tab"]["cat"].' AS CAT_PARENT ';
$lo_sql.= ' ON (CAT.idcat = CAT_PARENT.parentid) ';
$lo_sql.= 'LEFT OUTER JOIN '.$cfg["tab"]["cat_lang"].' AS CAT_LANG_PARENT ';
$lo_sql.= ' ON CAT_PARENT.idcat = CAT_LANG_PARENT.idcat ';
$lo_sql.= ' AND (CAT_LANG_PARENT.visible = 1) ';
$lo_sql.= ' AND (CAT_LANG_PARENT.public = 1) ';
$lo_sql.= 'LEFT OUTER JOIN '.$cfg["tab"]["cat_art"].' AS CAT_ART ';
$lo_sql.= ' ON CAT.idcat = CAT_ART.idcat ';
$lo_sql.= 'LEFT OUTER JOIN '.$cfg["tab"]["art_lang"].' AS ART_LANG ';
$lo_sql.= ' ON (CAT_ART.idart = ART_LANG.idart) ';
$lo_sql.= ' AND (ART_LANG.online = 1) ';
// startartikel einbeziehen?
if( $lo_set["Art_IncStart"] != 'true')
{ $lo_sql.= ' AND (CAT_LANG.startidartlang != ART_LANG.idartlang) '; }
$lo_sql.= 'LEFT OUTER JOIN con_art_lang AS ART_LANG_START ';
$lo_sql.= ' ON (CAT_ART.idart = ART_LANG_START.idart) ';
$lo_sql.= ' AND (ART_LANG_START.online = 1) ';
$lo_sql.= ' AND (CAT_LANG.startidartlang = ART_LANG_START.idartlang) ';
$lo_sql.= 'WHERE CAT_LANG.idlang = \''.$lang.'\' ';
$lo_sql.= 'AND CAT.idclient = \''.$client.'\' ';
$lo_sql.= 'AND CAT.parentid = \''.$lo_kat.'\' ';
$lo_sql.= 'AND CAT_LANG.visible = 1 ';
$lo_sql.= 'AND CAT_LANG.public = 1 ';
$lo_sql.= 'GROUP BY CAT.idcat ';
$lo_sql.= 'ORDER BY '.$lo_set["Cat_SortBy"].' '.$lo_set["Cat_SortDir"];
//echo $lo_sql.'<br><br>';
// sql ausfuehren
$lo_dbobj->query($lo_sql);
//------------------------------------------
// wenn ergebnisse vorliegen
if( $lo_dbobj->num_rows() )
{
// html-quelltxt schoen machen
$lo_result .= "\n".str_repeat(" ", ($lo_level * 4));
// css-class einfuegen
$lo_result .= '<ul class="'.$lo_set["Cat_CssPrefix"].'_'.$lo_level.'">'."\n";
//------------------------------------------
// ergebnisse durchlaufen
while( $lo_dbobj->next_record() )
{
// html-quelltxt schoen machen
$lo_result .= str_repeat (" ", ($lo_level * 4) + 2);
// listeneintrag beginnen
$lo_result .= '<li>';
//------------------------------------------
// wenn kategorie einen startartikel besitzt, link erstellen
if( (int)$lo_dbobj->f("startartexist") )
{
$lo_result .= '<a href="';
$lo_result .= $sess->url('front_content.php?idcat='.$lo_dbobj->f('idcat'));
$lo_result .= '">';
$lo_result .= $lo_dbobj->f("Name");
$lo_result .= '</a>';
}
else
{ $lo_result .= $lo_dbobj->f("Name"); }
//------------------------------------------
// sollen artikel falls vorhanden anzeigen?
if( ($lo_set["Art_Show"] == 'true') && (int)$lo_dbobj->f("artexist") )
{
// html-quelltxt schoen machen
$lo_result .= "\n".str_repeat (" ", ($lo_level * 4) + 4);
$lo_result .= '<ul class="'.$lo_set["Art_CssPrefix"].'_'.$lo_level.'">'."\n";
//------------------------------------------
// optionsarray fur artikelabfrage erstellen
$lo_options['idcat'] = $lo_dbobj->f('idcat');
// startartikel anzeigen?
if( $lo_set["Art_IncStart"] == 'true' )
{ $lo_options['start'] = true; }
else
{ $lo_options['start'] = false; }
// sortierung
$lo_options['order'] = $lo_set["Art_SortBy"];
// sortierungsrichtung
$lo_options['direction'] = $lo_set["Art_SortDir"];
//------------------------------------------
// artikel abfragen
$lo_artlist = new ArticleCollection($lo_options);
//------------------------------------------
// falls artikel vorliegen
if ($lo_artlist->count > 0)
{
//------------------------------------------
// pruefe ob vorhanden artikelanzahl groesser ist als
// max angezeigt werden sollen
if( $lo_set["Art_MaxArt"] < $lo_artlist->count )
{ $lo_limitart = $lo_set["Art_MaxArt"]; }
else
{ $lo_limitart = $lo_artlist->count; }
//------------------------------------------
// durchlaufe alle gefundenen artikel
for( $lo_run = 0; $lo_run < $lo_limitart; $lo_run++ )
{
// hole naechsten artikel
$lo_article = $lo_artlist->nextArticle();
//artikelhead holen
$lo_arthead = strip_tags(trim( $lo_article->getContent('CMS_HTMLHEAD', 1) ));
//------------------------------------------
// wenn text laenger als gewuenscht ist
if( strlen($lo_arthead) > $lo_set["Art_MaxChar"] )
{
$lo_arthead = capiStrTrimAfterWord($lo_arthead, (int)$lo_set["Art_MaxChar"]);
$lo_arthead .= '...';
}
elseif( strlen($lo_arthead) == 0 )
{
$lo_arthead = mi18n("no articlehead exist!");
}
// html-quelltxt schoen machen
$lo_result .= str_repeat (" ", ($lo_level * 4) + 6);
//------------------------------------------
// artikel darstellen
$lo_result .= '<li>';
$lo_result .= '<a href="';
$lo_result .= $sess->url('front_content.php?idcat='.$lo_dbobj->f('idcat').'&idart='.$lo_article->getField('idart'));
$lo_result .= '">';
$lo_result .= $lo_arthead;
$lo_result .= '</a>';
$lo_result .= '</li>'."\n";
}
}
// html-quelltxt schoen machen
$lo_result .= str_repeat (" ", ($lo_level * 4) + 4);
$lo_result .= '</ul>'."\n";
}
//------------------------------------------
// wenn subkategorien
if( ($lo_dbobj->f('count_subcat') > 0) && ($lo_set["Cat_Level"] > ($lo_level+1)) )
{
$lo_result .= SitemapExtended($lo_dbobj->f('idcat'), ($lo_level+1));
$lo_result .= str_repeat (" ", ($lo_level * 4) + 2);
}
//------------------------------------------
// falls artikel vorhanden und anzeigen, html-quelltxt schoen machen
if( ($lo_set["Art_Show"] == 'true') && (int)$lo_dbobj->f("artexist") )
{ $lo_result .= str_repeat (" ", ($lo_level * 4) + 2); }
// listeneintrag beenden
$lo_result .= '</li>'."\n";
}
// html-quelltxt schoen machen
$lo_result .= str_repeat (" ", ($lo_level * 4));
// liste schliessen
$lo_result .= "</ul>\n";
}
// ergebnis zurueckgeben
return($lo_result);
}
}
//----------------------------------------------------------------
// sitemap darstellen
echo SitemapExtended((int)$lo_set["Cat_Id"]);
?>