menu.class.php
3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
Class Menu{
private $db;
private $lang;
function __construct($lang){
$this->db = sdb::getInstance();
$this->lang = $lang;
}
public function view($id){
return $this->db->getRow("select *,name_{$this->lang} as name,title_{$this->lang} as title,description_{$this->lang} as description,keywords_{$this->lang} as keywords,about_{$this->lang} as about from menu where id=?",array($id),DB_FETCHMODE_ASSOC);
}
public function view_params($param1,$value = null){
/* $rt = explode("/" ,$rt);
$rt = array_slice($rt, $offset,$length);
print $params = implode("/",$rt);
if($params) $params .= "/"; */
$params = ($value != null) ? $param1 . '/' . $value . '/' : (($param1 != null) ? $param1 . '/' : $param1);
//$params = sprintf("%s/%s/",$param1,$value);
return $this->db->getRow("select *,name_{$this->lang} as name,title_{$this->lang} as title,description_{$this->lang} as description,keywords_{$this->lang} as keywords,about_{$this->lang} as about from menu where params=?",array($params),DB_FETCHMODE_ASSOC);
}
public function getMenuUL($url,$id = 0,&$menu = ''){
// global $menu;
$q=$this->db->query("select *,name_{$this->lang} as name from menu where parent_id=? and is_menu=1 order by sort asc",array($id));
if(!$q->numRows())
return;
$menu.= "<ul>\n";
$i = 0;
while($q->fetchInto($arr,DB_FETCHMODE_ASSOC))
{$i++;
$menu.= '<li id="item'.$i.'">';
$menu.= '<a href="'.$url.'/'.$arr['params'].'">';
$menu.= stripslashes($arr['name']);
$menu.= '</a>';
$this->getMenuUL($url,$arr['id'],$menu);
$menu.= "</li>\n";
if($i == 1){$i++;
$menu.= '<li id="item'.$i.'">';
$menu.= '<a href="#">';
$menu.= 'ÏÐÎÄÓÊÒÈ';
$menu.= '</a>';
$menu.= $this->addULBrends();
$menu.= "</li>\n";
}
}
$menu.= "</ul>\n";
return $menu;
}
public function addULBrends(){
$out = "<ul id='menu_brends'>\n";
$res = $this->db->getAll("select * from catalogs_brends order by sort asc",array(),DB_FETCHMODE_ASSOC);
foreach($res as $row){
$out .= "<li class='row_brend'>";
$out .= $row['name'];
$out .= $this->addULRubrics($row['id']);
$out .= "</li>\n";
}
$out .= "</ul>\n";
return $out;
}
public function addULRubrics($brend_id){
$out = "<ul>\n";
$res = $this->db->getAll("select r.*,b.translit as brend_translit from catalogs_rubrics r LEFT JOIN catalogs_brends b ON b.id=r.brend_id where r.parent_id=? and r.brend_id=? order by r.sort asc",array(0,$brend_id),DB_FETCHMODE_ASSOC);
foreach($res as $row){
$out .= "<li>";
$out .= '<a href="'.$url.'/products/'.$row['brend_translit'].'/'.$row['translit'].'/">';
$out .= $row['name'];
$out .= '</a>';
$out .= "</li>\n";
}
$out .= "</ul>\n";
return $out;
}
public function getMenuBottomUL($url,$id = 0,&$menu = ''){
// global $menu;
$q=$this->db->query("select *,name_{$this->lang} as name from menu where parent_id=? and is_menu_bottom=1 order by sort asc",array($id));
if(!$q->numRows())
return;
$menu.= "<ul>\n";
while($q->fetchInto($arr,DB_FETCHMODE_ASSOC))
{
$menu.= '<li>';
$menu.= '<a href="'.$url.'/'.$arr['params'].'">';
$menu.= $arr['name'];
$menu.= '</a>';
$this->getMenuBottomUL($url,$arr['id'],$menu);
$menu.= "</li>\n";
}
$menu.= "</ul>\n";
return $menu;
}
}
?>