Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| navistyle - andere Darstellung des aktuellen Menüpunkts | |||
|---|---|---|---|
| hilffeeee Mitglied
Posts: 17 |
Hallo,
in der index.html steht bei mir folgendes: {_list_vmenupoint@<div style="text-align: left;"><a class="navi" target="%1" href="%2">%3</a></div>|}
Class = navi Ich möchte jetzt wenn die Seite z.B. Startseite aufgerufen wird, dass als class nicht navi verwendet wird sondern navi2. Also immer die Seite die aufegrufen ist soll navi2 bekommen und der Rest der nicht aufgerufen ist navi. Wie löst man dies am besten verwendete ilchClan Version: 1.1 |
||
| Mairu Coder
Posts: 12770 |
Ich hatte mir mal ne angepasste design.php geschrieben bzw. eine andere, aber ich hoffe mal, dass ich jetzt alles richtig übernommen hab.
<?php
// Copyright by Manuel
// Support www.ilch.de
defined ('main') or die ('no direct access');
if (!isset($ILCH_HEADER_ADDITIONS)) {
$ILCH_HEADER_ADDITIONS = '';
}
if (!isset($ILCH_BODYEND_ADDITIONS)) {
$ILCH_BODYEND_ADDITIONS = '';
}
class design extends tpl {
var $html;
var $design;
var $vars;
var $was;
var $file;
function design ($title, $hmenu, $was = 1, $file = null)
{
global $allgAr;
if (!is_null($file)) {
echo '<div style="display: block; background-color: #FFFFFF; border: 2px solid #ff0000;">!!Man konnte in einer PHP Datei eine spezielle Index angeben. Damit das Design fuer diese Datei anders aussieht. Diese Funktion wurde ersetzt. Weitere Informationen im Forum auf ilch.de ... Thema: <a href="http://www.ilch.de/forum-showposts-13758-p1.html#108812">http://www.ilch.de/forum-showposts-13758-p1.html#108812</a></div>';
}
$this->vars = array();
$this->file = $file; # setzte das file standart 0 weil durch was definiert
$this->was = $was; # 0 = smalindex, 1 = normal index , 2 = admin
$this->design = $this->get_design();
$link = $this->htmlfile();
$tpl = new tpl ($link, 2);
if ($tpl->list_exists ('boxleft')) {
$tpl->set ('boxleft' , $this->get_boxes ('l', $tpl));
}
if ($tpl->list_exists ('boxright')) {
$tpl->set ('boxright' , $this->get_boxes ('r', $tpl));
}
// ab 0.6 = ... 5 menu listen moeglich
for($i = 1;$i <= 5;$i++) {
if ($tpl->list_exists ('menunr' . $i)) {
$tpl->set ('menunr' . $i , $this->get_boxes ($i, $tpl));
}
}
$ar = array
('TITLE' => $this->escape_explode($title),
'HMENU' => $this->escape_explode($hmenu),
'SITENAME' => $this->escape_explode($allgAr['title']),
'hmenuende' => '',
'vmenuende' => '',
'hmenubegi' => '',
'vmenubegi' => '',
'hmenupoint' => '',
'vmenupoint' => '',
'DESIGN' => $this->design
);
$tpl->set_ar($ar);
$this->html = $tpl->get(0);
$this->html .= '{EXPLODE}';
$this->html .= $tpl->get(1);
unset ($tpl);
$zsave0 = array();
preg_match_all ("/\{_boxes_([^\{\}]+)\}/" , $this->html , $zsave0);
$this->replace_boxes($zsave0[1]);
unset ($zsave0);
$this->vars_replace();
unset ($this->vars);
$this->html = explode('{EXPLODE}', $this->html);
}
function addheader($text)
{
if (isset($this->html[0])) {
$this->html[0] = str_replace('</head>',$text."\n</head>" , $this->html[0] );
return true;
} else {
return false;
}
}
function header ()
{
global $ILCH_HEADER_ADDITIONS;
$this->addheader($ILCH_HEADER_ADDITIONS);
echo $this->html[0];
unset ($this->html[0]);
}
function addtobodyend($text)
{
if (isset($this->html[1])) {
$this->html[1] = str_replace('</body>',$text."\n</body>" , $this->html[1] );
return true;
} else {
return false;
}
}
function footer ($exit = 0)
{
global $ILCH_BODYEND_ADDITIONS;
$this->addtobodyend($ILCH_BODYEND_ADDITIONS);
echo $this->html[1];
unset ($this->html[1]);
if ($exit == 1) {
exit();
}
}
function escape_explode ($s)
{
$s = str_replace('{EXPLODE}', '{EXPLODE}', $s);
return ($s);
}
function htmlfile_ini ()
{
global $menu;
$ma = $menu->get_string_ar();
$ia = array();
if (!file_exists('include/designs/' . $this->design . '/design.ini')) {
return (false);
}
$ia = parse_ini_file ('include/designs/' . $this->design . '/design.ini');
arsort($ma);
krsort ($ia);
foreach ($ia as $k => $v) {
$k = preg_replace("/[^a-zA-Z0-9-*]/", "", $k);
$k = str_replace('*', '[^-]+', $k);
foreach ($ma as $k1 => $v1) {
if (preg_match("/" . $k . "/", $k1) AND file_exists('include/designs/' . $this->design . '/' . $v)) {
return ($v);
}
}
}
return (false);
}
function htmlfile ()
{
$ini = $this->htmlfile_ini ();
/*
if ( !is_null ($this->file) AND file_exists ('include/designs/'.$this->design.'/templates/'.$this->file)) {
$f = 'designs/'.$this->design.'/templates/'.$this->file;
} elseif ( !is_null ($this->file) AND file_exists ('include/templates/'.$this->file)) {
$f = 'templates/'.$this->file;
*/
if ($this->was == 1 AND $ini !== false) {
$f = 'designs/' . $this->design . '/' . $ini;
} elseif ($this->was == 0 AND file_exists ('include/templates/' . $this->design . '/templates/small_index.htm')) {
$f = 'templates/' . $this->design . '/templates/small_index.htm';
} elseif ($this->was == 0) {
$f = 'templates/small_index.htm';
} elseif ($this->was == 1) {
$f = 'designs/' . $this->design . '/index.htm';
} elseif ($this->was == 2) {
$f = 'admin/templates/index.htm';
}
return ($f);
}
function replace_boxes ($zsave0)
{
foreach ($zsave0 as $v) {
$dat = strtolower($v);
$buffer = $this->get_boxcontent ($dat);
if ($buffer !== false) {
$this->vars['_boxes_' . $v] = $buffer;
}
}
if (!is_array($this->vars)) {
$this->vars = array();
}
}
function vars_replace()
{
foreach ($this->vars as $k => $v) {
$this->html = str_replace('{' . $k . '}', $v, $this->html);
}
}
// ####
function get_boxes ($wo , $tpl)
{
global $lang, $allgAr, $menu;
if (is_numeric($wo)) {
$datei = 'menunr' . $wo;
} elseif ($wo == 'l') {
$datei = 'boxleft';
$wo = 1;
} elseif ($wo == 'r') {
$datei = 'boxright';
$wo = 2;
}
$retur = '';
$ex_ebene = 0;
$ex_was = 1;
$firstmep = false;
$hovmenup = '';
$abf = "SELECT * FROM `prefix_menu` WHERE wo = " . $wo . " AND ( recht >= " . $_SESSION['authright'] . " OR recht = 0 ) ORDER by pos";
$erg = db_query($abf);
while ($r = db_fetch_assoc($erg)) {
$menuar[$r['pos']] = $r;
$menupaths[$r['path']] = $r['pos'];
}
//Aktiven Punkt herausfinden
foreach(array_reverse($menu->get_string_ar()) as $path){
$path = str_replace('self-','',$path);
if (isset($menupaths[$path])) {
$act_pos = $menupaths[$path];
break;
}
}
foreach ($menuar as $pos => $row) {
$subhauptx = $row['was'];
$whileMenP = ($subhauptx >= 7 ? true : false);
if (($row['was'] >= 7 AND $ex_was == 1) OR ($ex_ebene < ($row['ebene']-1)) OR ($ex_was <= 4 AND $row['ebene'] <> 0) OR ($row['was'] >= 7 AND !$tpl->list_exists($hovmenup))) {
continue;
}
// nur wenn ein menu in die variable $menuzw geschrieben wurde
// wird in diese if abfrage gesprungen
if (($whileMenP === false) AND !empty($menuzw)) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
$retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
$menuzw = '';
}
if ($row['was'] == 1) {
// die box wird direkt in die to return variable geschrieben
$buffer = $this->get_boxcontent($row['path']);
$retur .= $tpl->list_get($datei, array ($row['name'] , $buffer));
} elseif ($row['was'] >= 2 AND $row['was'] <= 4) {
// der name des menues wird gesetzt
// und die variable wird gesetzt.
$boxname = $row['name'];
$menuzw = '';
$menuzwE = '';
$ex_ebene = 0; # ex ebene
$hovmenu = '';
if ($row['was'] == 2 AND $tpl->list_exists('hmenupoint')) {
$hovmenu = 'hmenu';
} elseif ($row['was'] == 3 AND $tpl->list_exists('vmenupoint')) {
$hovmenu = 'vmenu';
}
$firstmep = true;
if (!empty($hovmenu)) {
$menuzw .= $tpl->list_get($hovmenu . 'begi', array());
$menuzwE .= $tpl->list_get($hovmenu . 'ende', array());
}
$hovmenup = $hovmenu . 'point';
} elseif ($whileMenP) {
// menupunkt wird generiert
$ebene = $row['ebene'];
$menuTarget = ($subhauptx == 8 ? '_blank' : '_self');
list ($wmpA, $wmpE, $wmpTE, $wmpTEE) = explode ('|', $tpl->list_get ($hovmenup, array ($menuTarget, ($subhauptx == 8 ? '' : 'index.php?') . $row['path'], $row['name'], ($row['pos'] == $act_pos ? 'active' : 'inactive'))));
if (!empty($menuzw) AND $firstmep === false) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE);
}
$menuzw .= $wmpA;
$firstmep = false;
}
$ex_was = $row['was'];
$ex_ebene = $row['ebene'];
}
if (!empty($menuzw)) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
$retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
}
return ($retur);
}
function get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE)
{
$menu1 = '';
if ($ex_ebene == $ebene AND !empty($menuzw)) {
$menu1 .= $wmpE . "\n";
} elseif ($ex_ebene > $ebene) {
$menu1 .= $wmpE . "\n";
for($i = 0;$i < ($ex_ebene - $ebene); $i++) {
$menu1 .= $wmpTEE . "\n";
}
} elseif ($ex_ebene < $ebene) {
$menu1 .= $wmpTE . "\n";
}
return ($menu1);
}
function get_boxcontent ($box)
{
global $lang, $allgAr, $menu,$ILCH_HEADER_ADDITIONS,$ILCH_BODYEND_ADDITIONS;
if (file_exists('include/boxes/' . $box)) {
$pfad = 'include/boxes/' . $box;
} elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box))) {
$pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box);
} elseif (file_exists('include/boxes/' . $box . '.php')) {
$pfad = 'include/boxes/' . $box . '.php';
} elseif (file_exists('include/boxes/' . $box . '.htm')) {
$pfad = 'include/boxes/' . $box . '.htm';
} elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php')) {
$pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php';
} elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm')) {
$pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm';
} else {
return (false);
}
ob_start();
require_once($pfad);
$buffer = $this->escape_explode(ob_get_contents());
ob_end_clean();
return($buffer);
}
}
?>
Dann kannst du noch ein %4 einfügen, das entweder active oder inactive ist. In deinem Bsp. wäre es dann {_list_vmenupoint@<div style="text-align: left;"><a class="navi_%4" target="%1" href="%2">%3</a></div>|}
Wo dann die Klassen navi_active und navi_inactive rauskommen sollten, ich hoffe es funktionier und hilft weiter. Teste es auch mal mit Selfpages, wenn es so funktioniert. Zuletzt modifiziert von Mairu am 25.07.2008 - 01:34:38 Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| hilffeeee Mitglied
Posts: 17 |
danke für die schnelle Antwort.
Leider kommt jetzt überhaupt keine Navi mehr. Also die Navi ist jetzt komplett weg. |
||
| Mairu Coder
Posts: 12770 |
Stimmt, da war ein kleiner Fehler drin, mit großer Wirkung
Habs verbessert und nun sollte es gehen. Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| hilffeeee Mitglied
Posts: 17 |
und jetzt wird jeder link class auch wenn er aktiv ist als inaktiv angezeigt, obwohl die seite aufgerufen ist.
|
||
| Mairu Coder
Posts: 12770 |
Hast du nur eigene Seiten? Ansonsten mal ein Link zu deiner Seite, bei mir gings eigentlich, habe oben nochmal was verändert, womit auch eigene Seiten funktionieren sollten.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| hilffeeee Mitglied
Posts: 17 |
Ja ich habe nur eigene Seite, da ich ilch als CMS für meine private Homepage verwende.
Aber jetzt geht es einwandfrei. Vielen Dank. |
||
| hilffeeee Mitglied
Posts: 17 |
nur leider kommt jetzt wenn ich mich ins adminmenü einlogge folgender Fehler:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web19/html/kfz/include/includes/class/design.php:322) in /var/www/web19/html/kfz/include/includes/func/user.php on line 96 |
||
| Mairu Coder
Posts: 12770 |
Du hast wahrscheinlich irgendwie Leerzeichen/-zeilen mit in deine design.php eingefügt, die außerhalb von <?php und ?> stehen, diese musst du entfernen, dann sollte es gehen.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Zerzaro Mitglied
Posts: 66 |
Hey Leutz, brauch mal Hilfe
Maddin hat mir was tolles gemacht, damit ich einen Menüpunkt klicken kann und sich dadrunter dann weitere Links öffnen. Beispiel: °Spieler Klick ich den Menüpunkt "Spieler" passiert das °Spieler °Name °Name °Name Nun aber zeigt er mir einen Fehler oberhalb der Seite an und zwar diesen hier: Warning: Invalid argument supplied for foreach() in /var/www/web48/html/ilch/include/includes/class/design.php on line 222 Woran kann das liegen? BRauche Hilfe ![]() |
||
| Zerzaro Mitglied
Posts: 66 |
push
|
||
| MagistYata Mitglied
Posts: 844 |
Zitat
push
Solche Posts werden hier im Forum nicht gerne gesehen. Geduld sollte man schon mitbringen. Streß ist Lebensdiebstahl |
||
| Mairu Coder
Posts: 12770 |
Wenn man von der Datei oben ausgeht würde das bedeuten, dass dein Menü leer ist, also im Adminbereich nichts eingetragen ggf. auch weil ein anderes als Menü1 verwendet wird, das müsstest du in deiner index.htm mal überprüfen.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Zerzaro Mitglied
Posts: 66 |
Ah, Danke. Das hat mir schon ein bisschen weitergeholfen
Habe nun im Menü2 einfach ein anderes Menü erstellt und der Fehler ist weg. Nur irgendwie zeigt er mir dennoch keine weiteren Kategorien an, wenn ich auf Spieler klicke Weil dann sollten sich ja weitere Menüs unter Spieler öffnen, tut er aber leider nicht... |
||
| Mairu Coder
Posts: 12770 |
Hast du auch eingerückte Menüpunkte?
In deinem ersten Post hast du auch geschrieben, dass Maddin dir was tolles gebaut hat, aber nicht fertig oder wie, warum kommst du jetzt mit solchen Fragen, kann er dir dabei nicht helfen? Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Zerzaro Mitglied
Posts: 66 |
Inwiefern eingerückte Menüpkt?...
Naja.. er hat mir seine ICQ Nummer gegeben, aber antworten tut er nie^^ |
||
| Mairu Coder
Posts: 12770 |
Man kann Menüpunkte einrücken, im Adminberich bei Navigation (der Pfeil nach rechts/links).
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| MaddinXx Mitglied
Posts: 746 |
Abend
Hab in ICQ nichts bekommen, müssen wir's halt doch über PM lösen
Ich hab's bei mir getestet und funktioniert perfekt. Wie MAIRU sagt, musst du die Menupunkte im Backend einrücken. So wie ich das sehe suchst du eine Lösung, wie er automatisch alle Spieler als Menupunkt anzeigt, das wird mit meiner Lösung nicht funktionieren und ist (behaupte ich als PHP Laie) nur mit viel PHP zu lösen. Grüsse MaddinXx //edit: Zerzaro mach bei deiner styles.css mal beim body noch folgendes hin: overflow-x: hidden; Der horizontale Scrollbalken stört extrem und wird eh nicht benötigt.. Zuletzt modifiziert von MaddinXx am 15.09.2011 - 23:12:09 Rackster Internet Services |
||
| Zerzaro Mitglied
Posts: 66 |
AH, nun habe ich es... zwar klappt das nun mit der Navi, aber er zeigt dennoch den Fehler oben an
Zitat Warning: Invalid argument supplied for foreach() in /var/www/web48/html/ilch/include/includes/class/design.php on line 222
Edit: Hier der komplette code von der design.php <?php
// Copyright by Manuel
// Support www.ilch.de
defined ('main') or die ('no direct access');
if (!isset($ILCH_HEADER_ADDITIONS)) {
$ILCH_HEADER_ADDITIONS = '';
}
if (!isset($ILCH_BODYEND_ADDITIONS)) {
$ILCH_BODYEND_ADDITIONS = '';
}
class design extends tpl {
var $html;
var $design;
var $vars;
var $was;
var $file;
function design ($title, $hmenu, $was = 1, $file = null)
{
global $allgAr;
if (!is_null($file)) {
echo '<div style="display: block; background-color: #FFFFFF; border: 2px solid #ff0000;">!!Man konnte in einer PHP Datei eine spezielle Index angeben. Damit das Design fuer diese Datei anders aussieht. Diese Funktion wurde ersetzt. Weitere Informationen im Forum auf ilch.de ... Thema: <a href="http://www.ilch.de/forum-showposts-13758-p1.html#108812">http://www.ilch.de/forum-showposts-13758-p1.html#108812</a></div>';
}
$this->vars = array();
$this->file = $file; # setzte das file standart 0 weil durch was definiert
$this->was = $was; # 0 = smalindex, 1 = normal index , 2 = admin
$this->design = $this->get_design();
$link = $this->htmlfile();
$tpl = new tpl ($link, 2);
if ($tpl->list_exists ('boxleft')) {
$tpl->set ('boxleft' , $this->get_boxes ('l', $tpl));
}
if ($tpl->list_exists ('boxright')) {
$tpl->set ('boxright' , $this->get_boxes ('r', $tpl));
}
// ab 0.6 = ... 5 menu listen moeglich
for($i = 1;$i <= 5;$i++) {
if ($tpl->list_exists ('menunr' . $i)) {
$tpl->set ('menunr' . $i , $this->get_boxes ($i, $tpl));
}
}
$ar = array
('TITLE' => $this->escape_explode($title),
'HMENU' => $this->escape_explode($hmenu),
'SITENAME' => $this->escape_explode($allgAr['title']),
'hmenuende' => '',
'vmenuende' => '',
'hmenubegi' => '',
'vmenubegi' => '',
'hmenupoint' => '',
'vmenupoint' => '',
'DESIGN' => $this->design
);
$tpl->set_ar($ar);
$this->html = $tpl->get(0);
$this->html .= '{EXPLODE}';
$this->html .= $tpl->get(1);
unset ($tpl);
$zsave0 = array();
preg_match_all ("/\{_boxes_([^\{\}]+)\}/" , $this->html , $zsave0);
$this->replace_boxes($zsave0[1]);
unset ($zsave0);
$this->vars_replace();
unset ($this->vars);
$this->html = explode('{EXPLODE}', $this->html);
}
function addheader($text)
{
if (isset($this->html[0])) {
$this->html[0] = str_replace('</head>',$text."\n</head>" , $this->html[0] );
return true;
} else {
return false;
}
}
function header ()
{
global $ILCH_HEADER_ADDITIONS;
$this->addheader($ILCH_HEADER_ADDITIONS);
echo $this->html[0];
unset ($this->html[0]);
}
function addtobodyend($text)
{
if (isset($this->html[1])) {
$this->html[1] = str_replace('</body>',$text."\n</body>" , $this->html[1] );
return true;
} else {
return false;
}
}
function footer ($exit = 0)
{
global $ILCH_BODYEND_ADDITIONS;
$this->addtobodyend($ILCH_BODYEND_ADDITIONS);
echo $this->html[1];
unset ($this->html[1]);
if ($exit == 1) {
exit();
}
}
function escape_explode ($s)
{
$s = str_replace('{EXPLODE}', '{EXPLODE}', $s);
return ($s);
}
function htmlfile_ini ()
{
global $menu;
$ma = $menu->get_string_ar();
$ia = array();
if (!file_exists('include/designs/' . $this->design . '/design.ini')) {
return (false);
}
$ia = parse_ini_file ('include/designs/' . $this->design . '/design.ini');
arsort($ma);
krsort ($ia);
foreach ($ia as $k => $v) {
$k = preg_replace("/[^a-zA-Z0-9-*]/", "", $k);
$k = str_replace('*', '[^-]+', $k);
foreach ($ma as $k1 => $v1) {
if (preg_match("/" . $k . "/", $k1) AND file_exists('include/designs/' . $this->design . '/' . $v)) {
return ($v);
}
}
}
return (false);
}
function htmlfile ()
{
$ini = $this->htmlfile_ini ();
/*
if ( !is_null ($this->file) AND file_exists ('include/designs/'.$this->design.'/templates/'.$this->file)) {
$f = 'designs/'.$this->design.'/templates/'.$this->file;
} elseif ( !is_null ($this->file) AND file_exists ('include/templates/'.$this->file)) {
$f = 'templates/'.$this->file;
*/
if ($this->was == 1 AND $ini !== false) {
$f = 'designs/' . $this->design . '/' . $ini;
} elseif ($this->was == 0 AND file_exists ('include/templates/' . $this->design . '/templates/small_index.htm')) {
$f = 'templates/' . $this->design . '/templates/small_index.htm';
} elseif ($this->was == 0) {
$f = 'templates/small_index.htm';
} elseif ($this->was == 1) {
$f = 'designs/' . $this->design . '/index.htm';
} elseif ($this->was == 2) {
$f = 'admin/templates/index.htm';
}
return ($f);
}
function replace_boxes ($zsave0)
{
foreach ($zsave0 as $v) {
$dat = strtolower($v);
$buffer = $this->get_boxcontent ($dat);
if ($buffer !== false) {
$this->vars['_boxes_' . $v] = $buffer;
}
}
if (!is_array($this->vars)) {
$this->vars = array();
}
}
function vars_replace()
{
foreach ($this->vars as $k => $v) {
$this->html = str_replace('{' . $k . '}', $v, $this->html);
}
}
// ####
function get_boxes ($wo , $tpl)
{
global $lang, $allgAr, $menu;
if (is_numeric($wo)) {
$datei = 'menunr' . $wo;
} elseif ($wo == 'l') {
$datei = 'boxleft';
$wo = 1;
} elseif ($wo == 'r') {
$datei = 'boxright';
$wo = 2;
}
$retur = '';
$ex_ebene = 0;
$ex_was = 1;
$firstmep = false;
$hovmenup = '';
$abf = "SELECT * FROM `prefix_menu` WHERE wo = " . $wo . " AND ( recht >= " . $_SESSION['authright'] . " OR recht = 0 ) ORDER by pos";
$erg = db_query($abf);
while ($r = db_fetch_assoc($erg)) {
$menuar[$r['pos']] = $r;
$menupaths[$r['path']] = $r['pos'];
}
//Aktiven Punkt herausfinden
foreach(array_reverse($menu->get_string_ar()) as $path){
$path = str_replace('self-','',$path);
if (isset($menupaths[$path])) {
$act_pos = $menupaths[$path];
break;
}
}
foreach ($menuar as $pos => $row) {
$subhauptx = $row['was'];
$whileMenP = ($subhauptx >= 7 ? true : false);
if (($row['was'] >= 7 AND $ex_was == 1) OR ($ex_ebene < ($row['ebene']-1)) OR ($ex_was <= 4 AND $row['ebene'] <> 0) OR ($row['was'] >= 7 AND !$tpl->list_exists($hovmenup))) {
continue;
}
// nur wenn ein menu in die variable $menuzw geschrieben wurde
// wird in diese if abfrage gesprungen
if (($whileMenP === false) AND !empty($menuzw)) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
$retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
$menuzw = '';
}
if ($row['was'] == 1) {
// die box wird direkt in die to return variable geschrieben
$buffer = $this->get_boxcontent($row['path']);
$retur .= $tpl->list_get($datei, array ($row['name'] , $buffer));
} elseif ($row['was'] >= 2 AND $row['was'] <= 4) {
// der name des menues wird gesetzt
// und die variable wird gesetzt.
$boxname = $row['name'];
$menuzw = '';
$menuzwE = '';
$ex_ebene = 0; # ex ebene
$hovmenu = '';
if ($row['was'] == 2 AND $tpl->list_exists('hmenupoint')) {
$hovmenu = 'hmenu';
} elseif ($row['was'] == 3 AND $tpl->list_exists('vmenupoint')) {
$hovmenu = 'vmenu';
}
$firstmep = true;
if (!empty($hovmenu)) {
$menuzw .= $tpl->list_get($hovmenu . 'begi', array());
$menuzwE .= $tpl->list_get($hovmenu . 'ende', array());
}
$hovmenup = $hovmenu . 'point';
} elseif ($whileMenP) {
// menupunkt wird generiert
$ebene = $row['ebene'];
$menuTarget = ($subhauptx == 8 ? '_blank' : '_self');
list ($wmpA, $wmpE, $wmpTE, $wmpTEE) = explode ('|', $tpl->list_get ($hovmenup, array ($menuTarget, ($subhauptx == 8 ? '' : 'index.php?') . $row['path'], $row['name'], ($row['pos'] == $act_pos ? 'active' : 'inactive'))));
if (!empty($menuzw) AND $firstmep === false) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE);
}
$menuzw .= $wmpA;
$firstmep = false;
}
$ex_was = $row['was'];
$ex_ebene = $row['ebene'];
}
if (!empty($menuzw)) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
$retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
}
return ($retur);
}
function get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE)
{
$menu1 = '';
if ($ex_ebene == $ebene AND !empty($menuzw)) {
$menu1 .= $wmpE . "\n";
} elseif ($ex_ebene > $ebene) {
$menu1 .= $wmpE . "\n";
for($i = 0;$i < ($ex_ebene - $ebene); $i++) {
$menu1 .= $wmpTEE . "\n";
}
} elseif ($ex_ebene < $ebene) {
$menu1 .= $wmpTE . "\n";
}
return ($menu1);
}
function get_boxcontent ($box)
{
global $lang, $allgAr, $menu,$ILCH_HEADER_ADDITIONS,$ILCH_BODYEND_ADDITIONS;
if (file_exists('include/boxes/' . $box)) {
$pfad = 'include/boxes/' . $box;
} elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box))) {
$pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box);
} elseif (file_exists('include/boxes/' . $box . '.php')) {
$pfad = 'include/boxes/' . $box . '.php';
} elseif (file_exists('include/boxes/' . $box . '.htm')) {
$pfad = 'include/boxes/' . $box . '.htm';
} elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php')) {
$pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php';
} elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm')) {
$pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm';
} else {
return (false);
}
ob_start();
require_once($pfad);
$buffer = $this->escape_explode(ob_get_contents());
ob_end_clean();
return($buffer);
}
}
?>
Zuletzt modifiziert von Zerzaro am 16.09.2011 - 12:52:19 |
||
| Zerzaro Mitglied
Posts: 66 |
Hilfe
Ich weiß, ich darf kein Doppelpost machen, nur ich will den Fehler wegbekommen.. so schaut ja keiner mehr drauf ![]() |
||
| Mairu Coder
Posts: 12770 |
Das Problem ist das gleiche, was ich oben beschrieben hab, dann sind in der index.html noch andere Menüs versehen, die du in der Navigation und somit der Datenbank nicht definiert hast.
Um den Fehler zu beheben kannst du aber auch in der Zeile 221 folgendes einfügen: if (!is_array($menuar)) { return ''; }Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Zerzaro Mitglied
Posts: 66 |
Hm hab ich gemacht, hab dein Code einfach rechts daneben gemacht, aber der Fehler bleibt
Warning: Invalid argument supplied for foreach() in /var/www/web48/html/ilch/include/includes/class/design.php on line 222 |
||
| Tr3icio Mitglied
|
Wenn du da sin Zeile 221 machst dürfte es gehen :-P
|
||
| Zerzaro Mitglied
Posts: 66 |
Ah, Danke
Der Fehler ist zwar weg, aber es ist ein neuer aufgetaucht an der gleichen Stelle
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web48/html/ilch/include/includes/class/design.php:1) in /var/www/web48/html/ilch/include/includes/func/user.php on line 129 Edit: Hab den Fehler gefunden
War ein Leerzeichen in der 1. Zeile vor php^^ Zuletzt modifiziert von Zerzaro am 17.09.2011 - 20:24:30 |
||
| [ Anmelden zum schreiben ] |