ich habe wieder ein kleines Problem. Diesmal mit dem Modul vp-Sitemap.
Für ein Projekt habe ich das Modul so umgebaut, dass bei der Ausgabe der Sitemap bzw. der einzelnen Kategorien Bilder aus einem Ordner angezogen werden der genauso benannt ist wie die Kategorie selbst. Später sollen die Bilder mit jquery in einer slideshow animiert werden. Min Problem ist, dass das auslesen der Bilder nicht funktioniert. Sobald mein Code in der while ($db->next_record()) {} steckt geht das Auslesen nicht mehr. Der Code sollte aber richtig sein, da es wo anders schon mal funktioniert hat.
Hier der code. Der von mir eingebaute Code befindet sich zwischen # IMAGE START# und # IMAGE ENDE #
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : vpSitemap 0.4
* Author : Ingo van Peeren
* Copyright : Ingo van Peeren (ingo@van-peeren.de)
* Created : 2005-01-14
* Modified : 2006-09-07
* Credits : Nik Wyss & juergen@sotonic.de
************************************************/
$aValidExtensions= array (
"jpg",
"jpeg",
"gif",
"png"
);
// Includes
cInclude("frontend", "includes/functions.navigation.php");
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
// Image Attribute
$produkte_platzh = "produkte_platzh.jpg";
$cms_sort_direction = 'asc';
// CMS_VALUES initialisieren
$anzahlEbenen = "CMS_VALUE[1]";
$startkategorie = "CMS_VALUE[0]";
$ebeneNullAnzeigen = "CMS_VALUE[2]";
function vpSitemap($kategorie=0, $level)
{
global $lang, $client, $cfg, $startkategorie, $anzahlEbenen, $ebeneNullAnzeigen;
$db = new DB_Contenido;
$sql = "SELECT
*
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat=B.idcat
AND B.idcat=C.idcat
AND C.idlang='$lang'
AND B.idclient='$client'
AND B.parentid=$kategorie
AND level <= $anzahlEbenen
AND C.visible=1
ORDER by A.idtree";
$db->query($sql);
$treffer = $db->num_rows();
if ($treffer) {
if ($kategorie == $startkategorie) $result .= "\n" . str_repeat (" ", ($level * 4)) . "<ul id=\"portfolio_ov\">\n";
else $result .= "\n" . str_repeat (" ", ($level * 4) + 4) . "<ul>\n";
}
while ($db->next_record())
{
# IMAGE START#
$dirname = strtolower($db->f("name"));
$subPath = $cfgClient[$client]["upl"]["path"].'portfolio/'.$dirname.'/';
$subfiles = scanDirectory($subPath, false);
if (is_array($subfiles))
{
$filescount = count($subfiles);
if($filescount > 0)
{
$i511 = 1;
foreach ($subfiles as $key => $subfile)
{
$subfile_ext = strtolower(getFileExtension($subfile));
if (in_array($subfile_ext, $aValidExtensions))
{
$subimgs = '<img src="'.str_replace($cfgClient[$client]['path']['frontend'], $cfgClient[$client]['path']['htmlpath'], $subfile).'" alt="Image" width="179" height="179" />';
}
$i511++;
}
}
}
# IMAGE ENDE #
$visible = checkCatPermission($db->f("idcatlang"),$db->f("public"));
if ($visible) {
if(strlen($db->f("name")) > 14) {$small = ' class="small"';} else {$small='';}
$lvl = $db->f("level");
$result .= str_repeat (" ", ($lvl * 4) + 2);
if (($lvl > 0) || ($ebeneNullAnzeigen)) {
$result .= '<li>'."\n";
$result .= "\t".'<div class="pola_img">'."\n";
$result .= "\t\t".'<div class="top">'."\n";
$result .= "\t\t\t".'<div class="bottom">'."\n";
$result .= "\t\t\t\t".'<div class="middle">'."\n";
$result .= "\t\t\t\t\t".'<div>'."\n";
$result .= "\t\t\t\t\t\t".'<a href="front_content.php?idcat='.$db->f("idcat").'&lang='.$lang.'&client='.$client.'" title="' . $db->f("name") . '">'.$subimgs.'</a>'."\n";
$result .= "\t\t\t\t\t\t".'<div class="title">'."\n";
$result .= "\t\t\t\t\t\t\t".'<h2'.$small.'><a href="front_content.php?idcat='.$db->f("idcat").'&lang='.$lang.'&client='.$client.'" title="' . $db->f("name") . '">' . $db->f("name") . '</a></h2>'."\n";
$result .= "\t\t\t\t\t\t".'</div>'."\n";
$result .= "\t\t\t\t\t".'</div>'."\n";
$result .= "\t\t\t\t".'</div>'."\n";
$result .= "\t\t\t".'</div>'."\n";
$result .= "\t\t".'</div>'."\n";
$result .= "\t".'</div>'."\n";
$result .= '</li>'."\n";
}
else {
$result .= "<li> ".vpSitemap($db->f("idcat"), $lvl) . "</li>\n";
}
}
}
if ($treffer) {
if ($kategorie == $startkategorie) $result .= str_repeat (" ", ($level * 4));
else $result .= str_repeat (" ", ($level * 4) + 4);
$result .= "</ul>\n";
$result .= str_repeat (" ", ($level * 4) + 2);
}
return($result);
}
$sql = "SELECT
level
FROM
".$cfg["tab"]["cat_tree"]."
WHERE
idcat=$startkategorie";
$db->query($sql);
$db->next_record();
$startEbene = $db->f("level") + 1;
$anzahlEbenen += $startEbene;
if ($startkategorie==0) {
if ($ebeneNullAnzeigen) $anzahlEbenen--;
$startEbene--;
}
echo vpSitemap($startkategorie, $startEbene);
?>
Vielen Dank für eure Hilfe!
Grüße
Matt