Воскресенье, 13.09.2009, 17:01
Проверенный
Вообщем проблема в том что установил меню на сайт все нормально но 1 не радует оно всегда раскрыто! Так вот мне надо что бы при заходе сайта оно было завернуто а при нажатии как обычно разворачивалась Коды искал не могу сделать не получается что бы было закрыто! надеюсь вы мне поможете! Вот сайт http://megacomp.bzs.su/ где стоит менюшка, Вот сами коды! сам модуль Code <?php /* ===================================================== DataLife Engine - by SoftNews Media Group ----------------------------------------------------- Автор мода: PAV ----------------------------------------------------- Сopyright (c) PAV, Elf ===================================================== Данный код защищен авторскими правами ===================================================== Файл: category_block.php ----------------------------------------------------- Назначение: Вывод сворачивающихся категорий, версия 2.4 ===================================================== */
if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); }
$BCDebug = false; // Отладчик выполнения SQL скрипта. Показывает внизу меню время выполнения. // Счетчик новостей $cntnews = false; // true - включить, false - выключить $one_icon = true; // true - одна иконка, false - для каждой ссылки своя // Если $one_icon = true и иконка будет найдена, то стандартная будет заменена на соотвествующую $change_icon = false; // true - заменять на соотвествующую иконку, false - не заменять $one_num = false; // если true - показывать одну общую цифру в родительской категории, false - две цифры // 1я цифра - сумма новостей в родительской категории, 2я цифра - сумма новостей в подкатегориях + сумма в родительской $child_cats = true; // Если есть вложенные категории, должно быть true, иначе false; $select_cur_cat = false; // Если необходимо подсвечивать выбранную категорию - true, иначе false;
if ($BCDebug) { $BCTimer = new microTimer; $BCTimer->start(); }
// Если одна иконка и если она найдена, то для всех категорий будет эта иконка $icon['default'] = "/templates/{$config['skin']}/images/menu_icon_no_cat"; if (file_exists(ROOT_DIR.$icon['default'].".gif")) { $icon['default'] .= ".gif"; } else $icon['default'] = $config['http_home_url']."templates/{$config['skin']}/images/1px.gif";
$foldicon="{$config['http_home_url']}templates/{$config['skin']}/images/folder.gif"; $foldopenicon="{$config['http_home_url']}templates/{$config['skin']}/images/folderopen.gif"; $plus="{$config['http_home_url']}templates/{$config['skin']}/images/plus.gif"; $minus="{$config['http_home_url']}templates/{$config['skin']}/images/minus.gif"; $empty="{$config['http_home_url']}templates/{$config['skin']}/images/empty.gif";
$first="";
if ($cntnews) { $posts = unserialize(dle_cache("post_cnt", $config['skin']));
if (!is_array($posts)) { $posts = array (); if ($BCDebug) { $BCMTimer = new microTimer; $BCMTimer->start(); } $db->query("SELECT p.category, COUNT(p.category) AS cnt,(select count(*) from ".PREFIX."_post pp where pp.category=p.category and date(pp.date)=curdate()) as curdatecnt FROM ".PREFIX."_post p WHERE p.approve = 1 AND p.date<=NOW() GROUP BY category"); if ($BCDebug) $BCMTmrS=$BCMTimer->stop(); while($row = $db->get_row()) { if (strstr($row['category'],",")) { $ncat = explode(",",$row['category']); foreach($ncat as $ncatid) { // if ($cp!=$cat_info[$ncatid]['parentid']) $i=0; $cp=$cat_info[$ncatid]['parentid']; // $i+=$row['cnt']; if (empty($cp)) $cp=0; $posts[$cp][$ncatid] += $row['cnt']; $posts[d][$ncatid] += $row['curdatecnt']; } $posts[d][$ncatid] += $row['curdatecnt']; $posts[$cp][c] += $row['cnt']; } else { $cp=$cat_info[$row['category']]['parentid']; if (empty($cp)) $cp=0; $posts[$cp][$row['category']] += $row['cnt']; $posts[d][$row['category']] += $row['curdatecnt']; $posts[$cp][c] += $row['cnt']; } $posts[c]+= $row['cnt']; $posts[e]+= $row['curdatecnt']; } if (version_compare($config['version_id'], '5.3', ">=")) $db->free();
create_cache ("post_cnt", serialize($posts), $config['skin']); } }
if (is_array($posts)) $allnews = $posts[c]; if ($allnews==0) $allnews = "";
$cnt_i=0;
$cid=$category_id; while ($cid!=0) { $p_id=$cat_info[$cid]['parentid']; if ($p_id!=0) $p_cats[$p_id]=1; $cid=$p_id; }
function linkgen ($sname = '', $fname = '', $tpl) { global $config; $go_page = ($config['ajax']) ? "onclick=\"DlePage('do=".$fmane."'); return false;\" " : ""; if ($config['allow_alt_url'] == "yes") $tpl->set("[c_link".$sname."]","<a {$go_page}href=\"{$config['http_home_url']}".$fname.".html\" class=\"catlink\">"); else $tpl->set("[c_link".$sname."]","<a {$go_page}href=\"{$config['http_home_url']}index.php?do=".$fname."\" class=\"catlink\">"); $tpl->set("[/c_link".$sname."]","</a>"); }
function findicon($lname = '', $iname = '', $tpl) { global $config; if (!$one_icon) { $icon['link'.$lname] = "/templates/{$config['skin']}/images/icon/".$iname; if (file_exists(ROOT_DIR.$icon['link'.$lname].".gif")) { $icon['link'.$lname] .= ".gif"; } elseif (file_exists(ROOT_DIR.$icon['link'.$lname].".jpg")) { $icon['link'.$lname] .= ".jpg"; } elseif (file_exists(ROOT_DIR.$icon['link'.$lname].".png")) { $icon['link'.$lname] .= ".png"; } else $icon['link'.$lname] = $config['http_home_url']."templates/{$config['skin']}/images/1px.gif"; } else { if ($change_icon) { $icon['link'.$lname] = "/templates/{$config['skin']}/images/icon/".$iname; if (file_exists(ROOT_DIR.$icon['link'.$lname].".gif")) { $icon['link'.$lname] .= ".gif"; } elseif (file_exists(ROOT_DIR.$icon['link'.$lname].".jpg")) { $icon['link'.$lname] .= ".jpg"; } elseif (file_exists(ROOT_DIR.$icon['link'.$lname].".png")) { $icon['link'.$lname] .= ".png"; } else $icon['link'.$lname] = $icon['default']; } else $icon['link'.$lname] = $icon['default']; } $tpl->set('{c_link'.$lname.'icon}','<img border="0" src="'.$icon['link'.$lname].'">'); } function findicon2($cname = '') { global $config; if (!$one_icon) { $icon[$cname] = "/templates/{$config['skin']}/images/icon/".$cname; if (file_exists(ROOT_DIR.$icon[$cname].".gif")) { $icon[$cname] .= ".gif"; } elseif (file_exists(ROOT_DIR.$icon[$cname].".jpg")) { $icon[$cname] .= ".jpg"; } elseif (file_exists(ROOT_DIR.$icon[$cname].".png")) { $icon[$cname] .= ".png"; } else $icon[$cname] = $config['http_home_url']."templates/{$config['skin']}/images/1px.gif"; } else { if ($change_icon) { $icon[$cname] = "/templates/{$config['skin']}/images/icon/".$cname; if (file_exists(ROOT_DIR.$icon[$cname].".gif")) { $icon[$cname] .= ".gif"; } elseif (file_exists(ROOT_DIR.$icon[$cname].".jpg")) { $icon[$cname] .= ".jpg"; } elseif (file_exists(ROOT_DIR.$icon[$cname].".png")) { $icon[$cname] .= ".png"; } else $icon[$cname] = $icon['default']; } else $icon[$cname] = $icon['default']; } $ret='<img border="0" class="uniimg" src="'.$icon[$cname].'">'; return ($ret); } if (!is_array($allow_list)) {$allow_list = array(); $allow_list[0]="all";}
$parents = array();
$allow_list = explode (',', $user_group[$member_id['user_group']]['allow_cats']);
foreach ($cat_info as $cats) { if ($cats['parentid'] != 0 && ($allow_list[0] == "all" || in_array($cats['id'],$allow_list))) { $parents[$cats['parentid']]++; } }
function Category($parentid = 0, $subcat = '') { global $db, $cat_info, $user_group, $member_id, $config, $tpl, $posts, $cntnews, $icon, $one_icon, $change_icon, $cnt_i, $p_cats, $category_id, $parents, $one_num; global $plus, $minus, $empty, $foldicon, $foldopenicon, $allow_list, $child_cats;
if (count($cat_info)) { foreach ($cat_info as $cats) { if ($cats['parentid'] == $parentid) $root_category[] = $cats['id']; } $p_of_subcat=false;
$count_category = count($root_category);
if ($count_category) { foreach ($root_category as $id) { if ($allow_list[0] == "all" OR in_array($id, $allow_list)) {
if($parents[$id] != 0) $p_of_subcat=$id;
$tpl->load_template('category_block.tpl'); if ($category_id==$id && $select_cur_cat) $curcat=" cur"; else $curcat=""; if ($p_of_subcat) { if (($category_id==$id && $p_of_subcat==$id) || isset($p_cats[$id])) { if ($child_cats) { $scat1="<div class=\"pcat".$curcat."\"><img class=\"imgalign\" style=\"cursor:pointer\" id=\"img1_{$id}\" onclick=\"ShowHideCategory({$id})\" alt=\"\" src=\"".$minus."\"/>"; $scat1.="<img class=\"imgalign\" style=\"cursor:pointer\" id=\"img_{$id}\" onclick=\"ShowHideCategory({$id})\" alt=\"\" src=\"".$foldopenicon."\" />"; } else { $scat1="<div class=\"pcat".$curcat."\">".findicon2($cat_info[$id]['alt_name']); } $scat2="</div><div class=\"parcatshowed\" id=\"cat{$id}\">"; } else { if ($child_cats) { $scat1="<div class=\"pcat".$curcat."\"><img class=\"imgalign\" style=\"cursor:pointer\" id=\"img1_{$id}\" onclick=\"ShowHideCategory({$id})\" alt=\"\" src=\"".$plus."\"/>"; $scat1.="<img class=\"imgalign\" style=\"cursor:pointer\" id=\"img_{$id}\" onclick=\"ShowHideCategory({$id})\" alt=\"\" src=\"".$foldicon."\" />"; } else { $scat1="<div class=\"pcat".$curcat."\">".findicon2($cat_info[$id]['alt_name']); } $scat2="</div><div class=\"parcathided\" id=\"cat{$id}\">"; } } else { if ($child_cats) { $scat1 ="<div class=\"cat".$curcat."\"><img class=\"imgalign\" src=\"".$empty."\"/><img class=\"imgalign\" src=\"".$foldicon."\" />"; } else { $scat1 ="<div class=\"cat".$curcat."\">".findicon2($cat_info[$id]['alt_name']); }
$scat2="</div>"; } $go_page = ($config['ajax']) ? "onclick=\"DlePage('do=cat&category={$cat_info[$id]['alt_name']}'); return false;\" " : ""; if ($config['allow_alt_url'] == "yes") { $tpl->set('[c_linkcat]',$scat1."<a {$go_page}href=\"{$config['http_home_url']}category/{$cat_info[$id]['alt_name']}/\" title=\"{$cat_info[$id]['descr']}\" class=\"catlink\">"); } else { $tpl->set('[c_linkcat]',$scat1."<a {$go_page}href=\"{$PHP_SELF}?do=cat&category={$cat_info[$id]['alt_name']}\" title=\"{$cat_info[$id]['descr']}\" class=\"catlink\">"); }
$tpl->set('{c_catname}',stripslashes($cat_info[$id]['name'])); $tpl->set('[/c_linkcat]',"</a>".$scat2);
if ($cntnews) {
$catallnews = ""; if ($one_num || (is_array($posts[$id]) && !$p_of_subcat)) { $tpl->set('{c_catallnews}',""); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si",""); $catnews = $posts[$cat_info[$id]['parentid']][$cat_info[$id]['id']]; if (is_array($posts[$id])) { $catallnews = $posts[$id][c]; $catallnews += $posts[$cat_info[$id]['parentid']][$cat_info[$id]['id']]; } if ($catallnews) { $catnews=$catallnews; $tpl->set('{c_catnews}',$catnews); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si","\\1"); } elseif ($catnews) { $tpl->set('{c_catnews}',$catnews); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si","\\1"); } else { $tpl->set('{c_catnews}',"0"); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si","\\1"); } } else { $catnews = $posts[$cat_info[$id]['parentid']][$cat_info[$id]['id']]; if (is_array($posts[$id])) { $catallnews = $posts[$id][c]; $catallnews += $posts[$cat_info[$id]['parentid']][$cat_info[$id]['id']]; $tpl->set('{c_catallnews}',$catallnews); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si","\\1"); } else { $tpl->set('{c_catallnews}',""); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si",""); } if ($catnews) { $tpl->set('{c_catnews}',$catnews); if ($posts[d][$id]) $tpl->set('{c_catnew}',$posts[d][$id]); else $tpl->set('{c_catnew}',"0"); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si","\\1"); } else { if ($posts[d][$id]) $tpl->set('{c_catnew}',$posts[d][$id]); else $tpl->set('{c_catnew}',"0"); $tpl->set('{c_catnews}',"0"); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si","\\1"); } } } else { $tpl->set('{c_catallnews}',""); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si",""); $tpl->set('{c_catnews}',""); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si",""); }
$tpl->set('[c_content]',''); $tpl->set('[/c_content]',''); $tpl->set_block("'\\[c_header\\](.*?)\\[/c_header\\]'si",""); $tpl->set_block("'\\[c_footer\\](.*?)\\[/c_footer\\]'si","");
$tpl->compile('category_block'); }
Category($id, $subcat);
if ($p_of_subcat) { $tpl->load_template('category_block.tpl'); $tpl->set('[c_linkcat]',''); $tpl->set('{c_catname}',''); $tpl->set('[/c_linkcat]',"</div>"); $tpl->set_block("'\[c_catnews\](.*?)\[/c_catnews\]'si",""); $tpl->set('[c_content]',''); $tpl->set('[/c_content]',''); $tpl->set_block("'\\[c_header\\](.*?)\\[/c_header\\]'si",""); $tpl->set_block("'\\[c_footer\\](.*?)\\[/c_footer\\]'si","");
$tpl->compile('category_block'); $p_of_subcat=false; } } } } }
$tpl->load_template('category_block.tpl'); $javacode="<script language=\"javascript\" type=\"text/javascript\"> var CatPrefix=\"cat\"; var ImgPrefix=\"img_\"; var ImgPrefix1=\"img1_\";
function ShowHideCategory(index) { var folderDIV=document.getElementById(CatPrefix+index); var imgObj=document.getElementById(ImgPrefix+index); var imgObj1=document.getElementById(ImgPrefix1+index); if (folderDIV==null || imgObj==null || imgObj1==null) return false; if (imgObj.src.indexOf(\"folderopen.gif\")==-1) { imgObj.src=\"{THEME}/images/folderopen.gif\"; imgObj1.src=\"{THEME}/images/minus.gif\"; folderDIV.style.display=\"block\"; } else { imgObj.src=\"{THEME}/images/folder.gif\"; imgObj1.src=\"{THEME}/images/plus.gif\"; folderDIV.style.display=\"none\"; } return true; }
function opAll(){ for (i=0;i<={catcnt};i++) { var folderDIV=document.getElementById(CatPrefix+i); var imgObj=document.getElementById(ImgPrefix+i); var imgObj1=document.getElementById(ImgPrefix1+i); if (folderDIV==null || imgObj==null || imgObj1==null) continue; imgObj.src=\"{THEME}/images/folderopen.gif\"; imgObj1.src=\"{THEME}/images/minus.gif\"; folderDIV.style.display=\"block\"; } return true; }
function clAll(){ for (i=0;i<={catcnt};i++) { var folderDIV=document.getElementById(CatPrefix+i); var imgObj=document.getElementById(ImgPrefix+i); var imgObj1=document.getElementById(ImgPrefix1+i); if (folderDIV==null || imgObj==null || imgObj1==null) continue; imgObj.src=\"{THEME}/images/folder.gif\"; imgObj1.src=\"{THEME}/images/plus.gif\"; folderDIV.style.display=\"none\"; } return true; } </script>"; // Генерируем ссылку на главную страницу if ($child_cats) $tpl->set("{javacode}",$javacode); else $tpl->set("{javacode}",""); $go_page = ($config['ajax']) ? "onclick=\"DlePage('do'); return false;\" " : ""; $tpl->set_block("'\[c_linkhome\](.*?)\[/c_linkhome\]'si","<a {$go_page}href=\"/\" class=\"catlink\">\\1</a>"); if ($cntnews) { if ($one_num) {
if ($allnews) { $tpl->set('{c_mainnews}', $allnews); } $tpl->set('{c_allnews}', ""); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si",""); $tpl->set_block("'\[c_allnews\](.*?)\[/c_allnews\]'si","\\1");
} else {
$tpl->set('{c_allnews}', $allnews); if (empty($posts[0][0])) $posts[0][0]=0; if ($posts[0][0] || $allnews) { $tpl->set('{c_catmainnew}',$posts[e]); $tpl->set('{c_mainnews}', $posts[0][0]); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si","\\1"); } else { $tpl->set('{c_mainnews}', ""); $tpl->set_block("'\[c_catallnews\](.*?)\[/c_catallnews\]'si",""); } $tpl->set_block("'\[c_allnews\](.*?)\[/c_allnews\]'si","\\1"); }
} else { $tpl->set('{c_allnews}', ""); $tpl->set_block("'\[c_allnews\](.*?)\[/c_allnews\]'si",""); }
// Иконка для "Главная страница", если она найдена if (!$child_cats) findicon('home','home',$tpl); else $tpl->set('{c_linkhomeicon}',"");
$tpl->set('{catcnt}',count($cat_info)); $tpl->set('[c_header]',''); $tpl->set('[/c_header]','');
$tpl->set('[c_content]','<div class=\"catblock\">'); $tpl->set_block("'\\[c_linkcat\\](.*?)\\[/c_linkcat\\]'si",""); $tpl->set('[/c_content]',''); $tpl->set_block("'\\[c_footer\\](.*?)\\[/c_footer\\]'si",""); $tpl->compile('category_block');
Category();
$tpl->load_template('category_block.tpl'); $tpl->set('[c_content]',''); $tpl->set_block("'\\[c_linkcat\\](.*?)\\[/c_linkcat\\]'si",""); $tpl->set('[/c_content]','</div>'); $tpl->set_block("'\\[c_header\\](.*?)\\[/c_header\\]'si",""); $tpl->set_block("'\\[c_footer\\](.*?)\\[/c_footer\\]'si",""); $tpl->compile('category_block');
$tpl->load_template('category_block.tpl');
// Генерируем ссылку на последние комментарии linkgen('lcomm','lastcomments',$tpl); // Генерируем ссылку на обратную связь linkgen('feedback','feedback',$tpl); // Генерируем ссылку на RSS linkgen('rss','rss',$tpl); // Генерируем ссылку на галерею linkgen('gallery','gallery',$tpl); // Генерируем ссылку на карту сайта linkgen('sitemap','sitemap',$tpl); // Иконка на последние комментарии, если она найдена findicon('lcomm','lastcomments',$tpl); // Иконка на обратную связь, если она найдена findicon('feedback','feedback',$tpl); // Иконка на RSS, если она найдена findicon('rss','rss',$tpl); // Иконка на галерею, если она найдена findicon('gallery','gallery',$tpl); // Иконка на карту сайта, если она найдена findicon('sitemap','sitemap',$tpl);
if ($BCDebug) { if ($BCMTmrS) $tpl->set("{c_gensql}","MySQL Gen:".$BCMTmrS."s.<br />"); else $tpl->set("{c_gensql}",""); $tpl->set("{c_genscript}","Script Gen:".$BCTimer->stop()."s."); } else { $tpl->set("{c_gensql}",""); $tpl->set("{c_genscript}",""); }
$tpl->set("[c_footer]",""); $tpl->set("[/c_footer]",""); $tpl->set_block("'\\[c_header\\](.*?)\\[/c_header\\]'si",""); $tpl->set_block("'\\[c_content\\](.*?)\\[/c_content\\]'si",""); $tpl->compile('category_block'); $tpl->clear(); ?> Вот еще код Code [c_header] {javacode} <div class="openclose"><span><a href="#" onclick="opAll(); return false;" class="catlink">открыть все</a></span> | <span><a href="#" onclick="clAll(); return false;" class="catlink">закрыть все</a></span></div>
<hr style="color:#c2c2c2;background-color:#c2c2c2;height:1px;" /> [/c_header] [c_content] [c_linkcat] {c_catname}[c_catnews] <span class="cntfont">(<span class="catnew">+{c_catnew}</span>/<span class="catcnt">{c_catnews}</span>[c_catallnews]/<span class="catall">{c_catallnews}</span>[/c_catallnews])</span>[/c_catnews] [/c_linkcat] [/c_content] [c_footer] <hr style="color:#c2c2c2;background-color:#c2c2c2;height:1px;" /> <div class="added">{c_gensql}{c_genscript}</div> [/c_footer] Ну и ксс Code .catblock { white-space: nowrap; } .catlink { font-size:9pt; vertical-align: middle; text-decoration: none; font-weight:bold; color: #4b73d4; } .cat { padding: 1px 2px 1px 2px; } .pcat { padding: 1px 2px 1px 2px; } .cat.cur { background-color:#FFE4B5; padding: 1px 2px 1px 2px; } .pcat.cur { background-color:#FFE4B5; padding: 1px 2px 1px 2px; } .parcathided { display: none; padding: 1px 2px 1px 22px; } .parcatshowed { display: block; padding: 1px 2px 1px 22px; } .catcnt { color: #547ad7; } .catall { color: #f00; } .catnew { color: #009000; } .openclose { padding: 5px 5px 5px 5px; } .mainpage { padding: 5px 5px 5px 5px; } .added { padding: 1px 5px 1px 5px; } .imgalign { vertical-align: middle; width: 18px; } .cntfont { font-size:6pt; color: #757575; } .uniimg { vertical-align: middle; width: 40px; } Жду помощи и обязательно укажите в че причина огромное спасибо! |
Даже если ты не реальный юзер "Если я прав значит ты попал" |
|