Делаем вывод сущностей в меню по галке

Пишите ваши предложения здесь.
Ответить
pentiumd2015
Сообщения: 1
Зарегистрирован: 17 июл 2015, 13:37

Делаем вывод сущностей в меню по галке

Сообщение pentiumd2015 »

Кому интересно ставить галку показывать скрывать сущности в меню:

в файле параметров сущности /modules/entities/views/entities_form.php добавляем поле:

Код: Выделить всё

<div class="form-group">
<label class="col-md-3 control-label" for="in_menu"><?php echo TEXT_IN_MENU ?></label>
<div class="col-md-9"> 
<div class="checkbox-list"><label class="checkbox-inline"><?php echo input_checkbox_tag('in_menu','1',array('checked'=>$obj['in_menu'])) ?></label></div>
</div> 
</div>
Теперь для сохранения галки в бд в обработчике сохранения entities/actions/entities.php строку:

Код: Выделить всё

$sql_data = array('name'=>$_POST['name'],
'sort_order'=>$_POST['sort_order']);
меняем на :

Код: Выделить всё

$sql_data = array('name'=>$_POST['name'],
'sort_order'=>$_POST['sort_order'],
'in_menu'=>$_POST['in_menu']);
Теперь мы можем ставить/убирать галку выводить в меню сущность.
Осталось при выводе меню в файле /includes/functions/menu.php в функции build_entities_menu изменить запросы:

Код: Выделить всё

if($app_user['group_id']==0)
{
$entities_query = db_query("select * from app_entities e where e.parent_id = 0 order by e.sort_order, e.name");
}
else
{ 
$entities_query = db_query("select e.* from app_entities e, app_entities_access ea where e.id=ea.entities_id and length(ea.access_schema)>0 and ea.access_groups_id='" . db_input($app_user['group_id']) . "' and e.parent_id = 0 order by e.sort_order, e.name");
}
на :

Код: Выделить всё

if($app_user['group_id']==0)
{
$entities_query = db_query("select * from app_entities e where e.in_menu = 1 order by e.sort_order, e.name");
}
else
{ 
$entities_query = db_query("select e.* from app_entities e, app_entities_access ea where e.id=ea.entities_id and length(ea.access_schema)>0 and ea.access_groups_id='" . db_input($app_user['group_id']) . "' and e.in_menu = 1 order by e.sort_order, e.name");
}
Ну и в бд в таблице app_entities добавляем столбец in_menu (тип boolean или tinyint).

Все теперь можно самостоятельно указывать какие сущности будут отображены в меню.
Ответить