Sitemap Extended

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Sitemap Extended

Beitrag von maveric2001 » Do 12. Apr 2007, 15:38

mal ein anderes sitemapmodul aehnlich der vpSitemap mit schoenen gruessen vom auftraggeber nomore.

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...
name
SitemapExtended
beschreibung
kategorien
----------

-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
input

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&auml;hlen").': </td>'."\n";
echo '	<td class="text_medium" style="padding:5px">';
			echo buildCategorySelect("CMS_VAR[0]", $lo_set["Cat_Id"]);
echo '		&nbsp;<input type="image" src="images/submit.gif">';
echo '	'.mi18n("Wenn keine Kategorie ausgew&auml;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("&Auml;nderungsdatum").'</option>'."\n";	} 
	else 
	{	echo '<option value="CAT.lastmodified">'.mi18n("&Auml;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&auml;fix f&uuml;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">&nbsp;</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("&Auml;nderungsdatum").'</option>'."\n";	} 
	else 
	{	echo '<option value="lastmodified">'.mi18n("&Auml;nderungsdatum").'</option>'."\n";	}
	// veroeffentlichungs datum
	if( $lo_set["Art_SortBy"] == 'published' ) 
	{	echo '<option value="published" selected>'.mi18n("Ver&ouml;ffentlichungsdatum").'</option>'."\n";	} 
	else 
	{	echo '<option value="published">'.mi18n("Ver&ouml;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&szlig;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&auml;fix f&uuml;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
ouput

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"]);
?>

wosch

Beitrag von wosch » Do 12. Apr 2007, 18:11

Schön.
Gruß und Dank auch an nomore das es veröffentlich wird.

Wenn du nun aber auch ein Muster der CSS-Formatierung dazu tust, probiere ich es sofort aus.
Nur die Angabe:

Code: Alles auswählen

$lo_result .= '<ul class="'.$lo_set["Cat_CssPrefix"].'_'.$lo_level.'">
ist etwas wenig. :wink:

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Do 12. Apr 2007, 18:32

Bitteschön

Code: Alles auswählen

/* CSS Document */

/*-----------------------------------*/
/* SitemapExtended */
/*-----------------------------------*/
/* kategorie */
ul.sitemapext_cat_0
{
	list-style-type: none;
	padding-left: 0px;
}
ul.sitemapext_cat_0 li
{
	font-size: 110%;
	text-decoration: underline;
	font-weight: bold; 
	margin: 0px 0px 20px 0px;
}
/* artikel */
ul.sitemapext_art_0
{
	list-style-image:url(../uploads/bullets/rating_on.gif);
	padding-left: 20px;
}
ul.sitemapext_art_0 li
{
	text-decoration: none;
	margin: 5px 0px 5px 0px;
}
ul.sitemapext_art_0 li a:link,a:visited,a:hover,a:active,a:focus
{
	font-weight: normal; 
	color: RED;
}
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

wosch

Beitrag von wosch » Do 12. Apr 2007, 19:18

Tut bei mir nicht.

Im Back End:

Im Mustermandant -> Template Sitemap -> SitemapExtended ->
Vorkonfiguriert auf "hauptnavigation / 3 Level / Startartikel anzeigen / sitemapext_art auf sitemapext_art_0 (auch cat) gesetzt
gespeichert.
Seite Sitemap aufgerufen -> gespeichert
CSS einkopiert.


Im Front End:
Bild

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Do 12. Apr 2007, 21:19

Kann ich mir den Beispiel Mandanten mal ansehen?
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

wosch

Beitrag von wosch » Do 12. Apr 2007, 21:43

nomore hat geschrieben:Kann ich mir den Beispiel Mandanten mal ansehen?
Nee, schwierig, der läuft local auf einer XAMPP bei mir.
Gerade frisch installiert, keine 3 Tage alt,
das Modul war die Premiere zum Testen :lol:

Mich wundert vor allem das die 4 Ebenen der Kategorie 0 angezeigt werden,
und nicht, wie in der Vorkonfiguration eingestellt, ab Ebene "Hauptnavigation"

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Do 12. Apr 2007, 21:52

Du weißt schon, das dieses Modul nicht als Sitemap im Sinne von Sitemap programmiert wurde?
http://www.contenido.org/forum/viewtopic.php?t=16385
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

wosch

Beitrag von wosch » Do 12. Apr 2007, 22:09

nomore hat geschrieben:Du weißt schon, das dieses Modul nicht als Sitemap im Sinne von Sitemap programmiert wurde?
Stimmt :wink:
Aber ich hab Sitemap Extended gelesen und die Entstehung vergessen.
Probiere ich morgen weiter aus, heute ist es zu spät.

Aber, obwohl, Hauptnavi hat auch Unterpunkte,

Egal, morgen mehr :lol:

wosch

Beitrag von wosch » Fr 13. Apr 2007, 09:07

Viel was anders als gestern habe ich nicht gemacht,
aber nun tut das Modul.

Und zwar wunderschön.

Damit läßt sich eine Sitemap mit allen Artikel aufbauen
oder nur die Artikel ab einer bestimmten Kategorie, was ja dein Wunsch war.

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Beitrag von maveric2001 » Fr 13. Apr 2007, 09:27

wosch hat geschrieben:...
sitemapext_art auf sitemapext_art_0 (auch cat) gesetzt
...
falsch praefix heisst das ding!!! d.h. hinter den praefix werden immer ein '_' und die nummer des levels angehangen. d.h. wiederum er erstellt in der ausgabe:

sitemapext_art_0 <- css-klasse fuer artikel des levels 0
sitemapext_art_1 <- css-klasse fuer artikel des levels 1
sitemapext_art_2 <- css-klasse fuer artikel des levels 2
...

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Beitrag von Andreas » Di 17. Apr 2007, 09:08

Hi,

sehr schönes und vor allem nützliches Modul!

Besteht die Möglichkeit z.B. mehrere Kategorie-Bäume auszuwählen oder ist das Modul mehrfach auf einer Seite anzuwenden??
Z.B. nur die Hauptnavigation und die Hilfsnavigation.

Wenn man (wie derzeit möglich) alle auswählt, werden u.U. auch Seiten angezeigt, die den Betrachter so nicht interessieren (oder interessieren sollten) wie z.B. Menüpunkte aus den "Systemseiten".

Gruß
Andreas

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Beitrag von maveric2001 » Di 17. Apr 2007, 09:35

nöö du musste es mehrfach einbinden. eine mehrfachauswahl im modul ist mir zu umstaendlich. du kannst das modul aber recht einfach dahingehend erweitern.

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Beitrag von maveric2001 » Di 17. Apr 2007, 15:32

version: 0.3

aenderung: es ist jetzt moeglich bei den kategorien und bei den artikeln auch templates zu verwenden

input

Code: Alles auswählen

?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname:	SitemapExtended
* Author(s):	Rene Hankel
* Copyright:	michse
* Created:		2007.04.17
* Version:		0.3
*
************************************************/

//----------------------------------------------------------------
// 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_Prefix"]		= "CMS_VALUE[4]";
$lo_set["Cat_Style"]		= "CMS_VALUE[5]";
// 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_Prefix"]		= "CMS_VALUE[16]";
$lo_set["Art_Style"]		= "CMS_VALUE[17]";

//----------------------------------------------------------------
// standart
// kategorie
$lo_default_cat_level		= 1;
$lo_default_cat_sortby		= 'CAT_TREE.idtree';
$lo_default_cat_sortdir		= 'desc';
$lo_default_cat_prefix		= 'sitemapext_cat';
$lo_default_cat_style		= 'ul';
// artikel
$lo_default_art_sortby		= 'created';
$lo_default_art_sortdir		= 'desc';
$lo_default_art_maxart		= 50;
$lo_default_art_maxchar		= 200;
$lo_default_art_prefix		= 'sitemapext_art';
$lo_default_art_style		= 'ul';

//----------------------------------------------------------------
// 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 - prefix
if( strlen($lo_set["Cat_Prefix"]) == 0 )
{	$lo_set["Cat_Prefix"] = $lo_default_cat_prefix;	}
// cat - style
if( ($lo_set["Cat_Style"] != 'ul') && ($lo_set["Cat_Style"] != 'tpl') )
{	$lo_set["Cat_Style"] = $lo_default_cat_style;	}
//-------------------
// 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 - prefix
if( strlen($lo_set["Art_Prefix"]) == 0 )
{	$lo_set["Art_Prefix"] = $lo_default_art_prefix;	}
// art - style
if( ($lo_set["Art_Style"] != 'ul') && ($lo_set["Art_Style"] != 'tpl') )
{	$lo_set["Art_Style"] = $lo_default_art_style;	}


//----------------------------------------------------------------
// 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&auml;hlen").': </td>'."\n";
echo '	<td class="text_medium" style="padding:5px">';
			echo buildCategorySelect("CMS_VAR[0]", $lo_set["Cat_Id"]);
echo '		&nbsp;<input type="image" src="images/submit.gif">';
echo '	'.mi18n("Wenn keine Kategorie ausgew&auml;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("&Auml;nderungsdatum").'</option>'."\n";	} 
	else 
	{	echo '<option value="CAT.lastmodified">'.mi18n("&Auml;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 - style
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">'.mi18n("Verwende HTML-Liste").':</td>'."\n";
echo '	<td style="padding:5px;">'."\n";
			if( strtolower($lo_set["Cat_Style"]) == 'tpl' ) 
			{	echo '<input type="radio" name="CMS_VAR[5]" value="ul"/>'."\n";	} 
			else 
			{	echo '<input type="radio" name="CMS_VAR[5]" value="ul" checked/>'."\n";	}
echo '	</td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">'.mi18n("Verwende Template").':</td>'."\n";
echo '	<td style="padding:5px;">'."\n";
			if( strtolower($lo_set["Cat_Style"]) == 'tpl' ) 
			{	echo '<input type="radio" name="CMS_VAR[5]" value="tpl" checked/>'."\n";	} 
			else 
			{	echo '<input type="radio" name="CMS_VAR[5]" value="tpl"/>'."\n";	}
echo '	</td>'."\n";
echo '</tr>'."\n";
// cat - cssprefix
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">'.mi18n("Pr&auml;fix f&uuml;r HTML-Liste bzw. Template").':</td>'."\n";
echo '	<td style="padding:5px;"><input type="text" name="CMS_VAR[4]" value="'.$lo_set["Cat_Prefix"].'"></td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">&nbsp;</td>'."\n";
echo '	<td style="padding:5px;">';
echo		mi18n("Bei Auswahl HTML-Liste: Bezeichnung der CSS-Klasse des Elements ul.");
echo		'<br>';
echo		mi18n("Bei Auswahl Template:   Dateiname des jeweiligen Modul-Templates.");
echo		'<br><br>';
echo		'<strong>'.mi18n("!!!Achtung!!!").'</strong><br>';
echo		mi18n("Der Pr&auml;fix wird durch das Modul um jeweilige Nummer des Levels erweitert.").'<br>';
echo		mi18n("z.B.:").'<br>';
echo		mi18n("Eingabe: sitemapext_cat").'<br>';
echo		mi18n("Ausgabe f&uuml;r Level 0: sitemapext_cat_0 bzw. sitemapext_cat_0.html").'<br>';
echo		mi18n("Ausgabe f&uuml;r Level 1: sitemapext_cat_1 bzw. sitemapext_cat_1.html").'<br>';
echo '	</td>'."\n";
echo '</tr>'."\n";
//----------------------------------------------------------------
//----------------------------------------------------------------
// ueberschrift artikeloptionen
echo '<tr><td colspan="2">&nbsp;</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("&Auml;nderungsdatum").'</option>'."\n";	} 
	else 
	{	echo '<option value="lastmodified">'.mi18n("&Auml;nderungsdatum").'</option>'."\n";	}
	// veroeffentlichungs datum
	if( $lo_set["Art_SortBy"] == 'published' ) 
	{	echo '<option value="published" selected>'.mi18n("Ver&ouml;ffentlichungsdatum").'</option>'."\n";	} 
	else 
	{	echo '<option value="published">'.mi18n("Ver&ouml;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&szlig;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";
//----------------------------------------------------------------
// art - style
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">'.mi18n("Verwende HTML-Liste").':</td>'."\n";
echo '	<td style="padding:5px;">'."\n";
			if( strtolower($lo_set["Art_Style"]) == 'tpl' ) 
			{	echo '<input type="radio" name="CMS_VAR[17]" value="ul"/>'."\n";	} 
			else 
			{	echo '<input type="radio" name="CMS_VAR[17]" value="ul" checked/>'."\n";	}
echo '	</td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">'.mi18n("Verwende Template").':</td>'."\n";
echo '	<td style="padding:5px;">'."\n";
			if( strtolower($lo_set["Art_Style"]) == 'tpl' ) 
			{	echo '<input type="radio" name="CMS_VAR[17]" value="tpl" checked/>'."\n";	} 
			else 
			{	echo '<input type="radio" name="CMS_VAR[17]" value="tpl"/>'."\n";	}
echo '	</td>'."\n";
echo '</tr>'."\n";
// art - prefix
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">'.mi18n("Pr&auml;fix f&uuml;r HTML-Liste bzw. Template der Artikelliste").':</td>'."\n";
echo '	<td style="padding:5px;"><input type="text" name="CMS_VAR[16]" value="'.$lo_set["Art_Prefix"].'"></td>'."\n";
echo '</tr>'."\n";
echo '<tr>'."\n";
echo '	<td class="text_medium" style="padding:5px;">&nbsp;</td>'."\n";
echo '	<td style="padding:5px;">';
echo		mi18n("Bei Auswahl HTML-Liste: Bezeichnung der CSS-Klasse des Elements ul.");
echo		'<br>';
echo		mi18n("Bei Auswahl Template:   Dateiname des jeweiligen Modul-Templates.");
echo		'<br><br>';
echo		'<strong>'.mi18n("!!!Achtung!!!").'</strong><br>';
echo		mi18n("Der Pr&auml;fix wird durch das Modul um jeweilige Nummer des Levels erweitert.").'<br>';
echo		mi18n("z.B.:").'<br>';
echo		mi18n("Eingabe: sitemapext_art").'<br>';
echo		mi18n("Ausgabe f&uuml;r Level 0: sitemapext_art_0 bzw. sitemapext_art_0.html").'<br>';
echo		mi18n("Ausgabe f&uuml;r Level 1: sitemapext_art_1 bzw. sitemapext_art_1.html").'<br>';
echo '	</td>'."\n";
echo '</tr>'."\n";




echo '</table>'."\n";
?><?php
output

Code: Alles auswählen

<?php 
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname:	SitemapExtended
* Author(s):	Rene Hankel
* Copyright:	michse
* Created:		2007.04.17
* Version:		0.3
*
************************************************/


//----------------------------------------------------------------
// 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_Prefix"]		= "CMS_VALUE[4]";
$lo_set["Cat_Style"]		= "CMS_VALUE[5]";
// 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_Prefix"]		= "CMS_VALUE[16]";
$lo_set["Art_Style"]		= "CMS_VALUE[17]";

//----------------------------------------------------------------
// standart
// kategorie
$lo_default_cat_level		= 1;
$lo_default_cat_sortby		= 'CAT_TREE.idtree';
$lo_default_cat_sortdir		= 'desc';
$lo_default_cat_prefix		= 'sitemapext_cat';
$lo_default_cat_style		= 'ul';
// artikel
$lo_default_art_sortby		= 'created';
$lo_default_art_sortdir		= 'desc';
$lo_default_art_maxart		= 50;
$lo_default_art_maxchar		= 200;
$lo_default_art_prefix		= 'sitemapext_art';
$lo_default_art_style		= 'ul';

//----------------------------------------------------------------
// 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 - prefix
if( strlen($lo_set["Cat_Prefix"]) == 0 )
{	$lo_set["Cat_Prefix"] = $lo_default_cat_prefix;	}
// cat - style
if( ($lo_set["Cat_Style"] != 'ul') && ($lo_set["Cat_Style"] != 'tpl') )
{	$lo_set["Cat_Style"] = $lo_default_cat_style;	}
//-------------------
// 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 - prefix
if( strlen($lo_set["Art_Prefix"]) == 0 )
{	$lo_set["Art_Prefix"] = $lo_default_art_prefix;	}
// art - style
if( ($lo_set["Art_Style"] != 'ul') && ($lo_set["Art_Style"] != 'tpl') )
{	$lo_set["Art_Style"] = $lo_default_art_style;	}




//----------------------------------------------------------------
// 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 ergebnis als html
	 */
	function SitemapExtended($lo_kat = 0, $lo_level = 0)
	{
		global $sess, $lang, $client, $cfg, $lo_set;
		
		$lo_run = 0;
		$lo_limitart = 0;
		$lo_sql = '';
		$lo_tmp = '';
		$lo_result = '';
		$lo_arthead = '';
		$lo_options = array();
		$lo_dbobj;
		$lo_tpl;
		$lo_tplart;
		$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() ) 
		{
			//------------------------------------------
			// wenn sitemap mit template darzustellen ist
			if( $lo_set["Cat_Style"] == 'tpl' )
			{
				// template obj erstellen
				if (!is_object($lo_tpl)) 
				{	$lo_tpl = new Template;	}
				// templatedaten zuruecksetzen
				$lo_tpl->reset();
			}
			//------------------------------------------
			// sitemap als html-liste darstellen
			else 
			{
				// html-quelltxt schoen machen
				$lo_result .= "\n".str_repeat(" ", ($lo_level * 4));
				// css-class einfuegen
				$lo_result .= '<ul class="'.$lo_set["Cat_Prefix"].'_'.$lo_level.'">'."\n";
			}

			//------------------------------------------
			// ergebnisse durchlaufen
			while( $lo_dbobj->next_record() )
			{
				//------------------------------------------
				// wenn sitemap mit template darzustellen ist
				if( $lo_set["Cat_Style"] == 'tpl' )
				{
					// var zuruecksetzen
					$lo_result = '';
				}
				//------------------------------------------
				// sitemap als html-liste darstellen
				else
				{
					// 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") )
				{
					//------------------------------------------
					// wenn sitemap mit template darzustellen ist
					if( $lo_set["Art_Style"] == 'tpl' )
					{
						// template obj erstellen
						if (!is_object($lo_tplart)) 
						{	$lo_tplart = new Template;	}
						// templatedaten zuruecksetzen
						$lo_tplart->reset();
					}
					//------------------------------------------
					// sitemap als html-liste darstellen
					else 
					{
						// html-quelltxt schoen machen
					$lo_result .= "\n".str_repeat (" ", ($lo_level * 4) + 4);
						$lo_result .= '<ul class="'.$lo_set["Art_Prefix"].'_'.$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
							//------------------------------------------
							// sitemap als html-liste darstellen
							if( $lo_set["Art_Style"] != 'tpl' )
							{	$lo_result .= '<li>';	}
							
							$lo_tmp  = '<a href="';
							$lo_tmp .= $sess->url('front_content.php?idcat='.$lo_dbobj->f('idcat').'&idart='.$lo_article->getField('idart'));
							$lo_tmp .= '">';
								$lo_tmp .= $lo_arthead;
							$lo_tmp .= '</a>';

							//------------------------------------------
							// wenn sitemap mit template darzustellen ist
							if( $lo_set["Art_Style"] == 'tpl' )
							{
								$lo_tplart->set('d', 'ART', $lo_tmp);
								$lo_tplart->next();
							}
							//------------------------------------------
							// sitemap als html-liste darstellen
							else 
							{	$lo_result .= $lo_tmp.'</li>'."\n";	}
						}// end for
					}
					
					//------------------------------------------
					// wenn sitemap mit template darzustellen ist
					if( $lo_set["Art_Style"] == 'tpl' )
					{
						$lo_result .= $lo_tplart->generate('templates/'.$lo_set["Art_Prefix"].'_'.$lo_level.'.html', true);
					}
					//------------------------------------------
					// sitemap als html-liste darstellen
					else 
					{
						// 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);	}
				
				//------------------------------------------
				// wenn sitemap mit template darzustellen ist
				if( $lo_set["Cat_Style"] == 'tpl' )
				{
					$lo_tpl->set('d', 'CAT', $lo_result);
					$lo_tpl->next();
				}
				//------------------------------------------
				// sitemap als html-liste darstellen
				else 
				{
					// listeneintrag beenden
					$lo_result .= '</li>'."\n";
				}
			}// end while


			//------------------------------------------
			// wenn sitemap mit template darzustellen ist
			if( $lo_set["Cat_Style"] == 'tpl' )
			{
				$lo_result = $lo_tpl->generate('templates/'.$lo_set["Cat_Prefix"].'_'.$lo_level.'.html', true);
			}
			//------------------------------------------
			// sitemap als html-liste darstellen
			else 
			{
				// 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"]);
?>
beispiel modultemplate kategorie: sitemapext_cat_0.html

Code: Alles auswählen

<table border="0" cellspacing="0" cellpadding="0">
<!-- BEGIN:BLOCK -->
<tr>
	<td style="padding: 5px 5px 0px 5px;">{CAT}</td>
</tr>
<!-- END:BLOCK -->
</table>
beispiel modultemplate artikel: sitemapext_cat_0.html

Code: Alles auswählen

<table border="1" cellspacing="0" cellpadding="0">
<!-- BEGIN:BLOCK -->
<tr>
	<td style="padding: 5px 5px 0px 25px;">-{ART}</td>
</tr>
<!-- END:BLOCK -->
</table>

wosch

Beitrag von wosch » Di 17. Apr 2007, 16:25

Template schöööööööön, dann kann ich jetzt aufhören zu überlegen 8)
ob ich dich frage wie man bei der Kategorie ein Symbol für Ordner und beim Artikel ein Symbol für Seite da rein baut. :wink:

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Di 17. Apr 2007, 18:49

Vielen Dank für diese Lösung!
Ich habe da nur noch eine Frage. Wie bekomme ich es gebacken, das nur die Kategorien einen Rahmen haben? Wenn ich im Template sitemapext_cat_0.html einen Rahmen und eine Hintergrundfarbe für die Tabelle zuweise, so hat nachher der komplette Block mit den Artikeln dieses Aussehen.
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

Gesperrt