PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

22-04-2019, 16:11
|
sanktusm
Registrierter Benutzer
|
|
Registriert seit: Aug 2005
Beiträge: 659
|
|
Nested Sei Layer
Hallo, ich habe hier ein Script, das verschiede Layer positionieren soll, Leide schließt der Layer (wie ausgewiesen) nicht. Hat mir jemand einen Tipp, wie ich das hinbringen könnte?
PHP-Code:
public function getTree($menu_area_id, $language_id) {
$sql = "SELECT n.id, n.menu_link, n.menu_name, n.menu_area, COUNT(*)-1 AS level, n.lft, n.rgt, ROUND ((n.rgt - n.lft - 1) / 2) AS children FROM ".self::PREFIX."sections AS n, ".self::PREFIX."sections AS p WHERE (n.lft BETWEEN p.lft AND p.rgt) AND (n.menu_area = '$menu_area_id' AND n.language_id = '".$language_id."' AND p.menu_area = '$menu_area_id' AND p.language_id = '".$language_id."' AND ((n.access_for = '#all' AND p.access_for = '#all') OR (n.access_for IN (".$this -> front_users($_SESSION['front_user_id'])."))) AND ((n.public_status = '2' AND p.public_status = '2') OR (n.public_status = '".$_ENV['open_preview']."'))) GROUP BY n.lft ORDER BY n.lft;"; $result = $this->db->query($sql);
if($this->db->error != "") die($this->db->error."_getTree");
$tree = array(); $i = 0; while ($row = $result->fetch_assoc()) {
$tree[$i] = $row; $i++;
} return $tree; }
public function treeAsHtml($id, $menu_area_id, $language_id, $css_id, $css_class, $layers) {
$tree = $this->getTree($menu_area_id, $language_id);
$level = Array();
$html = "<ul";
if($css_id != "") $html .= " id=\"".$css_id."\" ";
if($css_class != "") $html .= " class=\"".$css_class."\" ";
$html .= ">";
$result = $this -> selectSimpleSql('navigation', 'id', $menu_area_id, '', '', 'id', 'ASC');
$level_data = $result->fetch_assoc();
$limits = unserialize($level_data['limits']);
$close = "";
$split_layer = Array();
$tmp_before = Array();
$tmp_after = Array();
for ($i=0; $i<count($tree); $i++) {
$level = $tree[$i]['level'] + 1;
if($layers['html_container_open_'.$level] != "" AND $layers['enclose_before_after_tag_'.$level] == "1" AND $tree[$i]['level'] < $tree[$i+1]['level']) {
$html .= $layers['html_container_open_'.$level];
$tmp_before[$level] = $i;
}
$html .= "<li "; if($limits['li_css_class_'.$level] != "") { $html .= "class=\" ". $limits['li_css_class_'.$level] . " ".$active."\""; } $html .= ">";
if($layers['enclose_tag_level_'.$level] != "") {
$split_layer = explode('><', $layers['enclose_tag_level_'.$level]);
$html .= $split_layer[0].">";
}
if(array_key_exists($tree[$i]['id'].'', $GLOBALS['url']) == false AND $tree[$i]['menu_link'] == "" AND $this -> is_content($tree[$i]['id']) != false) {
$html .= "<a href=\"?id=" . $tree[$i]['id'] . "\" "; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html .= " >" . $tree[$i]['menu_name'] . "</a>";
} else if ($tree[$i]['id'] == $this -> getDefaultId() AND $this -> is_content($tree[$i]['id']) != false){
$html .= "<a href=\"\" "; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html .= ">" . $tree[$i]['menu_name'] . "</a>";
} else if($tree[$i]['menu_link'] == "" AND $this -> is_content($tree[$i]['id']) != false) {
$html .= "<a href=\"" . $GLOBALS['url'][$tree[$i]['id']] . "\" "; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html .= ">" . $tree[$i]['menu_name'] . "</a>";
} else if($this -> is_content($tree[$i]['id']) === false) {
$html .= "<".$layers['tag_layer_'.$level].""; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"".$limits['tag_css_class_'.$level] . "\""; } $html .= ">" . $tree[$i]['menu_name'] . "</".$layers['tag_layer_'.$level].">";
} else if (is_numeric($tree[$i]['menu_link'])) {
$html .= "<a href=\"" . $GLOBALS['url'][$tree[$i]['menu_link']] . "\" "; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html .= ">" . $tree[$i]['menu_name'] . "</a>";
} else if (substr( $tree[$i]['menu_link'] , 0, 7) == "http://" OR substr( $tree[$i]['menu_link'], 0, 7) == "mailto:") {
$html .= "<a href=\"" . $tree[$i]['menu_link'] . "\" "; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html .= ">" . $tree[$i]['menu_name'] . "</a>";
} else {
$html .= "<a href=\"" . $tree[$i]['menu_link'] . "\" target=\"_blank\" "; if($limits['tag_css_class_'.$level] != "") { $html .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html .= ">" . $tree[$i]['menu_name']."</a>";
}
if($layers['enclose_tag_level_'.$level] != "") {
$split_layer = explode('><', $layers['enclose_tag_level_'.$level]);
$html .= "<".$split_layer[1];
}
if($tree[$i]['level'] == $tree[$i+1]['level'] OR $tree[$i]['level'] > $tree[$i+1]['level']) {
$html .= "</li>";
}
if($layers['html_container_open_'.$level] != "" AND $layers['enclose_before_after_tag_'.$level] == "2" AND $tree[$i]['level'] < $tree[$i+1]['level']) {
$html .= $layers['html_container_open_'.$level];
$tmp_after[$level] = $tree[$i]['children'] + $i; print('#'.$tree[$i]['children'].'*'); // ist 28 sollte 4 sein }
if(!empty($tmp_before[$level]) AND $tmp_before[$level] < $i) {
$html .= $layers['html_container_close_'.$level];
}
if(!empty($tmp_after[$level]) AND $tmp_after[$level] == $i) {
$html .= $layers['html_container_close_'.$level];
unset($tmp_after[$level]);
}
if($tree[$i]['level'] < $tree[$i+1]['level']) {
$html .= "<ul"; if($limits['ul_css_class_'.$level] != "") { $html .= " class=\"". $limits['ul_css_class_'.$level] . "\""; } $html .= ">";
} else if ($tree[$i]['level'] > $tree[$i+1]['level']) {
$diff = $tree[$i]['level'] - $tree[$i+1]['level'];
$html .= str_repeat("</ul></li>", $diff) . "";
if(!empty($tmp_after[$level]) AND $tmp_after[$level] < $i) {
$html .= $layers['html_container_close_'.$level]; }
}
$active = "";
}
$html .= "</ul>";
return $html;
}
Geändert von sanktusm (22-04-2019 um 16:14 Uhr)
|

30-04-2019, 12:58
|
sanktusm
Registrierter Benutzer
|
|
Registriert seit: Aug 2005
Beiträge: 659
|
|
php Nested Sets Struktur mit div Layern
Hallo,
ich bin leider sehr verzweifelt, da ich keine Lösung finde, wie man dieses Script
PHP-Code:
<div id="navbar" class="collapse navbar-collapse"> <ul class="nav navbar-nav mr-auto" > <li class=" menu-el active"><a href="" >Home</a></li> <li class=" menu-el "><a>Produkte</a> <ul> <div class="mdf_sub_wrap mdf_flip row lists"> <li ><div class="cl-title"><h3>Alu- und Stahlprodukte </h3></div> <ul class="mdf_child_menu"> <li ><a href="alu-stahl-trapezblech" >Trapezbleche</a></li> <li ><a href="wellblech-guenstig" >Wellbleche</a></li> <li ><a href="alu-ziegelblech" >Ziegelbleche</a></li> </ul> </li> <li ><div class="cl-title"><a href="befestigung-dach" >Befestigung und Abdichtung</a></div> <ul class="mdf_child_menu"> <li ><a href="schrauben-dachplatten" >Schrauben</a></li> <li ><a href="kalotten-trapezblech" >Kalotten</a></li> <li ><a href="profilfueller-dach" >Profilfüller</a></li> <li ><a href="bohrer-dachbefestigung" >Bohrer</a></li> </ul> </li> <li ><div class="cl-title"><a href="dachzubehoer-online-shop" >Dachzubehör für Verleger</a></div> <ul class="mdf_child_menu"> <li ><a href="unterdeck-unterspannbahn-und-zubehoer" >Unterdeck-Unterspannbahn und Zubehör</a></li> <li ><a href="dachentwaesserungssysteme" >Dachentwässerungssysteme</a></li> <li ><a href="schneefangsysteme-und-zubehoer" >Schneefangsysteme und Zubehör</a></li> <li ><a href="schneefangsysteme" >Schneefangsysteme</a></li> </ul> </li> </div> </ul> </li> </ul> </div>
mit diesem Code realisiert
PHP-Code:
<?php public function treeAsHtml($id, $menu_area_id, $language_id, $css_id, $css_class, $layers) {
$tree = $this->getTree($menu_area_id, $language_id);
$level = Array();
$html_out_layer = "";
$html = "<ul";
if($css_id != "") $html .= " id=\"".$css_id."\" ";
if($css_class != "") $html .= " class=\"".$css_class."\" ";
$html .= ">";
$result = $this -> selectSimpleSql('navigation', 'id', $menu_area_id, '', '', 'id', 'ASC');
$level_data = $result->fetch_assoc();
$limits = unserialize($level_data['limits']);
$close = "";
$split_layer = Array();
$tmp_after = Array();
$tmp_before = Array();
$collect = "";
for ($i=0; $i<count($tree); $i++) {
$level = $tree[$i]['level'] + 1;
if($tree[$i]['id'] == $_SESSION['id']) $active = "active"; else $active = "";
$html_li = "<li "; if($limits['li_css_class_'.$level] != "") { $html_li .= "class=\" ". $limits['li_css_class_'.$level] . " ".$active."\""; } $html_li .= ">";
$html_link = "<a href=\"?id=" . $tree[$i]['id'] . "\" "; if($limits['tag_css_class_'.$level] != "") { $html_link .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html_link .= " >" . $tree[$i]['menu_name'] . "</a>";
if($layers['enclose_tag_level_'.$level] != "") { $html_li .= str_replace('|', $html_link, $layers['enclose_tag_level_'.$level]);
} else { $html_li .= $html_link; }
if($tree[$i]['level'] == $tree[$i+1]['level'] OR $tree[$i]['level'] > $tree[$i+1]['level']) {
$html_li .= "</li>"; if($tree[$i]['level'] == $tree[$i+1]['level'] OR $tree[$i]['level'] > $tree[$i+1]['level']) $html_ul .= $html_li; }
if($tree[$i]['level'] < $tree[$i+1]['level']) { $html_ul .= $html_li;
$html_ul .= "<ul"; if($limits['ul_css_class_'.$level] != "") { $html_ul .= " class=\"". $limits['ul_css_class_'.$level] . "\""; } $html_ul .= ">";
} else if ($tree[$i]['level'] > $tree[$i+1]['level']) {
$diff = $tree[$i]['level'] - $tree[$i+1]['level'];
$html_ul .= str_repeat("</ul></li>", $diff) . ""; }
$active = ""; $html .= $html_ul; $html_ul = "";
}
$html .= "</ul>";
return $html;
}
?>
Über jeden Tipp bin ich sehr dankbar
Geändert von sanktusm (30-04-2019 um 13:15 Uhr)
|

30-04-2019, 15:08
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
Vielleicht mal ein vollständiges Beispiel mit Testdaten hier posten, das ist für Aussenstehende doch sehr müselig das selber zu machen, wenn du bei dir die Daten doch schon vorliegen hast. Nimm einfach var_export().
Ist natürlich auch schlecht, dass du da direkt irgendwelches SQL drin hast und das Code einer größeren Klasse zu sein scheint, das ist für andere Leute natürlich nicht testbar. Also würde ich dazu raten das erstmal so umzuschreiben, dass du die Daten einfach als Array reinreichst.
Geändert von chorn (30-04-2019 um 15:11 Uhr)
|

30-04-2019, 15:36
|
sanktusm
Registrierter Benutzer
|
|
Registriert seit: Aug 2005
Beiträge: 659
|
|
Hier die Arrays
PHP-Code:
array (
0 =>
array (
'id' => '4',
'menu_link' => NULL,
'menu_name' => 'Home',
'menu_area' => '1',
'level' => '0',
'lft' => '4',
'rgt' => '5',
'children' => '0',
),
1 =>
array (
'id' => '168',
'menu_link' => NULL,
'menu_name' => 'Produkte',
'menu_area' => '1',
'level' => '0',
'lft' => '6',
'rgt' => '63',
'children' => '28',
),
2 =>
array (
'id' => '133',
'menu_link' => NULL,
'menu_name' => 'Alu- und Stahlprodukte ',
'menu_area' => '1',
'level' => '1',
'lft' => '7',
'rgt' => '16',
'children' => '4',
),
3 =>
array (
'id' => '34',
'menu_link' => NULL,
'menu_name' => 'Trapezbleche',
'menu_area' => '1',
'level' => '2',
'lft' => '8',
'rgt' => '9',
'children' => '0',
),
4 =>
array (
'id' => '164',
'menu_link' => NULL,
'menu_name' => 'Wellbleche',
'menu_area' => '1',
'level' => '2',
'lft' => '10',
'rgt' => '11',
'children' => '0',
),
5 =>
array (
'id' => '45',
'menu_link' => NULL,
'menu_name' => 'Ziegelbleche',
'menu_area' => '1',
'level' => '2',
'lft' => '12',
'rgt' => '13',
'children' => '0',
),
6 =>
array (
'id' => '7',
'menu_link' => NULL,
'menu_name' => 'Befestigung und Abdichtung',
'menu_area' => '1',
'level' => '1',
'lft' => '17',
'rgt' => '28',
'children' => '5',
),
7 =>
array (
'id' => '44',
'menu_link' => NULL,
'menu_name' => 'Schrauben',
'menu_area' => '1',
'level' => '2',
'lft' => '18',
'rgt' => '19',
'children' => '0',
),
8 =>
array (
'id' => '43',
'menu_link' => NULL,
'menu_name' => 'Kalotten',
'menu_area' => '1',
'level' => '2',
'lft' => '20',
'rgt' => '21',
'children' => '0',
),
9 =>
array (
'id' => '70',
'menu_link' => NULL,
'menu_name' => 'Profilfüller',
'menu_area' => '1',
'level' => '2',
'lft' => '22',
'rgt' => '23',
'children' => '0',
),
10 =>
array (
'id' => '69',
'menu_link' => NULL,
'menu_name' => 'Bohrer',
'menu_area' => '1',
'level' => '2',
'lft' => '26',
'rgt' => '27',
'children' => '0',
),
11 =>
array (
'id' => '9',
'menu_link' => NULL,
'menu_name' => 'Dachzubehör für Verleger',
'menu_area' => '1',
'level' => '1',
'lft' => '29',
'rgt' => '42',
'children' => '6',
),
12 =>
array (
'id' => '40',
'menu_link' => NULL,
'menu_name' => 'Unterdeck-Unterspannbahn und Zubehör',
'menu_area' => '1',
'level' => '2',
'lft' => '30',
'rgt' => '31',
'children' => '0',
),
13 =>
array (
'id' => '111',
'menu_link' => NULL,
'menu_name' => 'Dachentwässerungssysteme',
'menu_area' => '1',
'level' => '2',
'lft' => '32',
'rgt' => '33',
'children' => '0',
),
14 =>
array (
'id' => '112',
'menu_link' => NULL,
'menu_name' => 'Schneefangsysteme und Zubehör',
'menu_area' => '1',
'level' => '2',
'lft' => '34',
'rgt' => '35',
'children' => '0',
),
15 =>
array (
'id' => '116',
'menu_link' => NULL,
'menu_name' => 'Schneefangsysteme',
'menu_area' => '1',
'level' => '2',
'lft' => '40',
'rgt' => '41',
'children' => '0',
),
16 =>
array (
'id' => '169',
'menu_link' => NULL,
'menu_name' => 'Anwendungen',
'menu_area' => '1',
'level' => '0',
'lft' => '64',
'rgt' => '75',
'children' => '5',
),
17 =>
array (
'id' => '170',
'menu_link' => NULL,
'menu_name' => 'Anwendungen Alu- und Stahlrodukte',
'menu_area' => '1',
'level' => '1',
'lft' => '65',
'rgt' => '74',
'children' => '4',
),
18 =>
array (
'id' => '171',
'menu_link' => NULL,
'menu_name' => 'Carport mit Trapezblech',
'menu_area' => '1',
'level' => '2',
'lft' => '66',
'rgt' => '67',
'children' => '0',
),
19 =>
array (
'id' => '172',
'menu_link' => NULL,
'menu_name' => 'Gartenhaus- Schuppendach mit Aluminium Trapezblech',
'menu_area' => '1',
'level' => '2',
'lft' => '68',
'rgt' => '69',
'children' => '0',
),
20 =>
array (
'id' => '173',
'menu_link' => NULL,
'menu_name' => 'Gartenhaus- Schuppendach mit Ziegelblech',
'menu_area' => '1',
'level' => '2',
'lft' => '70',
'rgt' => '71',
'children' => '0',
),
21 =>
array (
'id' => '174',
'menu_link' => NULL,
'menu_name' => 'Dachsysteme für das Wohnhaus',
'menu_area' => '1',
'level' => '2',
'lft' => '72',
'rgt' => '73',
'children' => '0',
),
22 =>
array (
'id' => '166',
'menu_link' => NULL,
'menu_name' => 'Unser Dachkonfigurator',
'menu_area' => '1',
'level' => '0',
'lft' => '76',
'rgt' => '77',
'children' => '0',
),
23 =>
array (
'id' => '152',
'menu_link' => NULL,
'menu_name' => 'Kundenforum',
'menu_area' => '1',
'level' => '0',
'lft' => '78',
'rgt' => '79',
'children' => '0',
),
)
|

30-04-2019, 16:38
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
Ok... und was ist mit den anderen Sachen? Hier so halbe Codefetzen posten bringt dich bei den meisten Leuten hier halt nicht weiter. Du musst schon mal überlegen, dass die Leute hier in ihrer Freizeit wenig Bock haben noch zusätzlich Entiwcklungsaufwand zu betreiben um ein geeignetes, nachvollziehbares Beispiel zu erhalten, da musst du schon selber eine ansprechende Vorlage liefern.
|

03-05-2019, 17:59
|
sanktusm
Registrierter Benutzer
|
|
Registriert seit: Aug 2005
Beiträge: 659
|
|
Hier die gesammte Klasse: ich bin schon ein wenig weiter gekommen
PHP-Code:
<?php
class sections extends header {
public function getTree($menu_area_id, $language_id) {
$sql = "SELECT n.id, n.menu_link, n.menu_name, n.menu_area, COUNT(*)-1 AS level, n.lft, n.rgt, ROUND ((n.rgt - n.lft - 1) / 2) AS children FROM ".self::PREFIX."sections AS n, ".self::PREFIX."sections AS p WHERE (n.lft BETWEEN p.lft AND p.rgt) AND (n.menu_area = '$menu_area_id' AND n.language_id = '".$language_id."' AND p.menu_area = '$menu_area_id' AND p.language_id = '".$language_id."') AND ((n.access_for = '#all' AND p.access_for = '#all') OR (n.access_for IN (".$this -> front_users($_SESSION['front_user_id']).") AND p.access_for IN (".$this -> front_users($_SESSION['front_user_id'])."))) AND ((n.public_status = '2' AND p.public_status = '2') OR (n.public_status = '".$_ENV['open_preview']."') AND (p.public_status = '".$_ENV['open_preview']."'))
GROUP BY n.lft ORDER BY n.lft;"; $result = $this->db->query($sql);
if($this->db->error != "") die($this->db->error."_getTree");
$tree = array(); $i = 0; while ($row = $result->fetch_assoc()) {
$tree[$i] = $row; $i++;
} return $tree; }
public function treeAsHtml($id, $menu_area_id, $language_id, $css_id, $css_class, $layers) {
$tree = $this->getTree($menu_area_id, $language_id);
$level = Array();
$html_out_layer = "";
$html = "<ul";
if($css_id != "") $html .= " id=\"".$css_id."\" ";
if($css_class != "") $html .= " class=\"".$css_class."\" ";
$html .= ">";
$result = $this -> selectSimpleSql('navigation', 'id', $menu_area_id, '', '', 'id', 'ASC');
$level_data = $result->fetch_assoc();
$limits = unserialize($level_data['limits']);
$close = "";
$collect_after = "";
$layer_after = "";
$layer = "";
$html_out = "";
$unblock_ul = true;
$collect_start_after = false;
$jump = true;
for ($i=0; $i<count($tree); $i++) {
$level = $tree[$i]['level'] + 1;
if($tree[$i]['id'] == $_SESSION['id']) $active = "active"; else $active = "";
$html_li = "<li "; if($limits['li_css_class_'.$level] != "") { $html_li .= "class=\" ". $limits['li_css_class_'.$level] . " ".$active."\""; } $html_li .= ">";
$html_link = "<a href=\"?id=" . $tree[$i]['id'] . "\" "; if($limits['tag_css_class_'.$level] != "") { $html_link .= " class=\"". $limits['tag_css_class_'.$level] . "\""; } $html_link .= " >" . $tree[$i]['menu_name'] . "</a>";
if($layers['enclose_tag_level_'.$level] != "") {
$html_li .= str_replace('|', $html_link, $layers['enclose_tag_level_'.$level]);
} else {
$html_li .= $html_link; }
if($tree[$i]['level'] == $tree[$i+1]['level'] OR $tree[$i]['level'] > $tree[$i+1]['level']) {
$html_li .= "</li>";
$html_ul .= $html_li;
}
if($layers['html_container_'.$level] != "" AND $layers['enclose_before_after_tag_'.$level] == 1) {
$collect_start_before = true;
$layer_before = $layers['html_container_'.$level];
$unblock_ul = false;
}
if($tree[$i]['level'] < $tree[$i+1]['level']) {
$html_ul .= $html_li;
$html_ul .= "<ul"; if($limits['ul_css_class_'.$level] != "") { $html_ul .= " class=\"". $limits['ul_css_class_'.$level] . "\""; } $html_ul .= ">";
} else if ($tree[$i]['level'] > $tree[$i+1]['level']) {
$diff = $tree[$i]['level'] - $tree[$i+1]['level'];
$html_close = str_repeat("</ul></li>", $diff) . "";
switch($diff) {
case 1:
$collect_start_before == true;
$html_ul .= $html_close;
break;
case 2:
$collect_after .= $html_ul;
$collect_after .= "</ul></li>";
$html_out .= str_replace('|', $collect_after, $layer_after);
$html_out .= "</ul></li>";
$collect_start_after = false;
$unblock_ul = false;
break;
default:
$collect_start_before == false;
$html_ul .= $html_close;
}
}
if($collect_start_after === true) {
if($tree[$i]['level'] > $tree[$i+1]['level']) {
$collect_before = str_replace('|', $collect_after, $layer_before);
$collect_after = "";
$collect_after .= $collect_before;
$collect_before = "";
} else {
$collect_before = "";
$collect_start_before == true;
$collect_after .= $html_ul;
}
$unblock_ul = false;
}
if($layers['html_container_'.$level] != "" AND $layers['enclose_before_after_tag_'.$level] == 2 AND $tree[$i]['children'] > 0) {
$collect_after = "";
$collect_start_before == false;
$layer_after = $layers['html_container_'.$level];
$collect_start_after = true;
}
$active = "";
if($unblock_ul === true) {
$html_out .= $html_ul;
$html_ul .= $html_close;
}
$html_ul = "";
$unblock_ul = true;
}
$html .= $html_out;
$html .= "</ul>";
return $html;
}
} ?>
Das Ergebniss ist leider immer noch dieses: Die Menupunkte werden unvollständig ausgeben und die Layer <div class="col-sm-3 col-xs-6"> stehen am Anfang doppelt und im letzten Block gar nicht. Ich arbeit jetzt schon eine Woche daran. Ich brauche Eure Hilfe
Die $layers sehen so aus:
Array
(
[level_1] => 10
[ul_css_class_1] =>
[li_css_class_1] => menu-el
[tag_layer_1] => a
[tag_css_class_1] =>
[enclose_tag_level_1] =>
[enclose_before_after_tag_1] => 2
[html_container_1] => <div class="mdf_sub_wrap mdf_flip row lists">|</div>
[level_2] => 10
[ul_css_class_2] => mdf_child_menu
[li_css_class_2] =>
[tag_layer_2] => h3
[tag_css_class_2] =>
[enclose_tag_level_2] => <div class="cl-title">|</div>
[enclose_before_after_tag_2] => 1
[html_container_2] => <div class="col-sm-3 col-xs-6">|</div>
)
PHP-Code:
<div id="sticky-navbar" class="container-fluid full-navbar"> <nav id="mdf_menu" class="navbar navbar-default" role="navigation">
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav mr-auto" > <li class=" menu-el active"><a href="" >Home</a></li> <li class=" menu-el "><a>Produkte</a> <ul><div class="mdf_sub_wrap mdf_flip row lists"> <div class="col-sm-3 col-xs-6"><div class="col-sm-3 col-xs-6"> <li ><div class="cl-title"><h3>Alu- und Stahlprodukte </h3></div> <ul class="mdf_child_menu"> <li ><a href="alu-stahl-trapezblech" >Trapezbleche</a></li> <li ><a href="wellblech-guenstig" >Wellbleche</a></li> </div> <li ><div class="cl-title"><a href="befestigung-dach" >Befestigung und Abdichtung</a></div> <ul class="mdf_child_menu"> <li ><a href="schrauben-dachplatten" >Schrauben</a></li> <li ><a href="kalotten-trapezblech" >Kalotten</a></li> <li ><a href="profilfueller-dach" >Profilfüller</a></li></div> <li ><div class="cl-title"><a href="dachzubehoer-online-shop" >Dachzubehör für Verleger</a></div> <ul class="mdf_child_menu"> <li ><a href="unterdeck-unterspannbahn-und-zubehoer" >Unterdeck-Unterspannbahn und Zubehör</a></li> <li ><a href="dachentwaesserungssysteme" >Dachentwässerungssysteme</a></li> <li ><a href="schneefangsysteme-und-zubehoer" >Schneefangsysteme und Zubehör</a></li> </ul> </li> </div> </ul></li> <li class=" menu-el "><a>Anwendungen</a> <ul><div class="mdf_sub_wrap mdf_flip row lists"> <li ><div class="cl-title"><h3>Anwendungen Alu- und Stahlrodukte</h3></div> <ul class="mdf_child_menu"> <li ><a>Carport mit Trapezblech</a></li> <li ><a>Gartenhaus- Schuppendach mit Aluminium Trapezblech</a></li> <li ><a>Gartenhaus- Schuppendach mit Ziegelblech</a></li> <li ><a>Dachsysteme für das Wohnhaus</a></li> </ul> </li></div> </ul></li> <li class=" menu-el "><a href="dachkonfigurator" >Unser Dachkonfigurator</a></li> <li class=" menu-el "><a href="montage-dachplatten-unser-forum" >Kundenforum</a></li></ul>
</div>
</nav> </div>
Geändert von sanktusm (03-05-2019 um 18:04 Uhr)
|

03-05-2019, 19:00
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
ja... und? Warum tust du dann nix dafür? Vielleicht denkst du mal über deine Einstellung nach hier dein Zeug hinzurotzen und von anderen Leuten zu erwarten deinen ganz speziellen Fall noch mal nachzuprogrammieren weil du wesentlich Codeteile unterschlägst und deine Abhängigkeiten nicht auflöst. Versetz dich doch mal in jemanden der das lokal nachstellen will und schon mal bereit wäre seine Freizeit für dein Debugging zu opfern und dann noch Libs nachbauen muss. Oder lass es halt, ich bin so jedenfalls raus.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|