Сейчас в ЦМС есть глючек в админке в меню: если при сортировке нажать на стрелочку вверх или вниз когда под пунктом меню нет другого пункта, то вываливается ошибка. Я это исправил след. образом:
Было:
Стало:
В файле admin/includes.cp.php
после
поставил
т.е. проверяю надо ли стрелку ставить вверх / вниз и выставляю соответствующие флаги
потом там где вывод стрелок:
blank.gif — просто пустой гиф размерами 16х16
Сами функции проверки:
Если кто-нить оптимизирует функционал будет хорошо!
Было:
Стало:
В файле admin/includes.cp.php
после
//TABLE BODY $r = 0; $r++; if ($r % 2) { $row_class = 'lt_row1'; } else { $row_class = 'lt_row2'; }
$is_up_arrow=true; $is_down_arrow=true; if(!is_able_up($item['NSLeft'])) $is_up_arrow=false; if(!is_able_down($item['NSRight'])) $is_down_arrow=false;
потом там где вывод стрелок:
if ($is_down_arrow) echo '<a title="Вниз" href="?view='.$GLOBALS['applet'].'&do=move_down&co='.$item[$_fields[$key]['field']].'&id='.$item['id'].'"><img src="images/actions/down.gif" /></a>'; else echo '<img src="images/actions/blank.gif" />'; if ($is_up_arrow) echo '<a title="Вверх" href="?view='.$GLOBALS['applet'].'&do=move_up&co='.$item[$_fields[$key]['field']].'&id='.$item['id'].'""><img src="images/actions/top.gif" /></a>'; else echo '<img src="images/actions/blank.gif" />';
Сами функции проверки:
function is_able_down($nsright) { $view = $_REQUEST['view']; if ($view != 'menu') return true; $res=false; $nsright++; $sql = "SELECT NSLeft, NSRight FROM cms_menu WHERE NSLeft=$nsright"; $result = dbQuery($sql) ; $res=true; } else { $res=false; } return $res; } function is_able_up($nsleft) { $view = $_REQUEST['view']; if ($view != 'menu') return true; $res=false; $nsleft--; $sql = "SELECT NSLeft, NSRight FROM cms_menu WHERE NSRight=$nsleft"; $result = dbQuery($sql) ; $res=true; } else { $res=false; } return $res; }
Реклама #
Amurland 13 лет назад #
13 лет назад #
А раньше как-то не замечал, так гораздо удобнее
13 лет назад #