vyborg 0 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 Здравствуйте. Вот сайт smp3s.ru. В административной панели выбор категорий производится из выпадающего списка. Подскажите как сделать выбор категорий галочками http://joxi.ru/krDzbzeCKO49J2. Версия 13.2. Спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
alukardua 27 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 11 минут назад, vyborg сказал: Здравствуйте. Вот сайт smp3s.ru. В административной панели выбор категорий производится из выпадающего списка. Подскажите как сделать выбор категорий галочками http://joxi.ru/krDzbzeCKO49J2. Версия 13.2. Спасибо тебе нужно выбор селект чекбоксами выбирался? Цитата Ссылка на сообщение Поделиться на других сайтах
vyborg 0 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 Автор Да именно так! Цитата Ссылка на сообщение Поделиться на других сайтах
alukardua 27 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 (изменено) если да то в modules/functions правиш функцию function CategoryNewsSelection($categoryid = 0, $parentid = 0, $nocat = TRUE, $sublevelmarker = '', $returnstring = '') { global $cat_info, $user_group, $member_id, $dle_module; if ($dle_module == 'addnews') { if($member_id['cat_allow_addnews']) $allow_list = explode( ',', $member_id['cat_allow_addnews'] ); else $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] ); } else $allow_list = explode( ',', $user_group[$member_id['user_group']]['allow_cats'] ); $not_allow_list = explode( ',', $user_group[$member_id['user_group']]['not_allow_cats'] ); if ($dle_module == 'search') { if( count( $cat_info ) ){ foreach ($cat_info as $cats) { if($cats['disable_search']) $not_allow_list[] = $cats['id']; } } } if ($member_id['cat_add']) $spec_list = explode( ',', $member_id['cat_add'] ); else $spec_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] ); $root_category = array (); if( $parentid == 0 ) { if( $nocat AND $allow_list[0] == "all") $returnstring .= '<option value="0"></option>'; } else { $sublevelmarker .= ' '; } if( count( $cat_info ) ) { foreach ( $cat_info as $cats ) { if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id']; } if( count( $root_category ) ) { foreach ( $root_category as $id ) { if( $allow_list[0] == "all" OR in_array( $id, $allow_list ) ) { if( in_array( $id, $not_allow_list ) ) continue; if( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = ""; else $color = "style=\"color: red\" "; $returnstring .= "<option {$color}value=\"" . $id . '" '; if( is_array( $categoryid ) ) { foreach ( $categoryid as $element ) { $element = intval($element); if( $element == $id ) $returnstring .= 'selected'; } } elseif( intval($categoryid) == $id ) $returnstring .= 'selected'; $returnstring .= '>' . $sublevelmarker . $cat_info[$id]['name'] . '</option>'; } $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring ); } } } return $returnstring; } и в addnews и editnews правишь под чебокс Изменено 16 мая 2019 пользователем alukardua Цитата Ссылка на сообщение Поделиться на других сайтах
vyborg 0 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 Автор 1 минуту назад, alukardua сказал: если да то в modules/functions правиш функцию function CategoryNewsSelection($categoryid = 0, $parentid = 0, $nocat = TRUE, $sublevelmarker = '', $returnstring = '') { global $cat_info, $user_group, $member_id, $dle_module; if ($dle_module == 'addnews') { if($member_id['cat_allow_addnews']) $allow_list = explode( ',', $member_id['cat_allow_addnews'] ); else $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] ); } else $allow_list = explode( ',', $user_group[$member_id['user_group']]['allow_cats'] ); $not_allow_list = explode( ',', $user_group[$member_id['user_group']]['not_allow_cats'] ); if ($dle_module == 'search') { if( count( $cat_info ) ){ foreach ($cat_info as $cats) { if($cats['disable_search']) $not_allow_list[] = $cats['id']; } } } if ($member_id['cat_add']) $spec_list = explode( ',', $member_id['cat_add'] ); else $spec_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] ); $root_category = array (); if( $parentid == 0 ) { if( $nocat AND $allow_list[0] == "all") $returnstring .= '<option value="0"></option>'; } else { $sublevelmarker .= ' '; } if( count( $cat_info ) ) { foreach ( $cat_info as $cats ) { if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id']; } if( count( $root_category ) ) { foreach ( $root_category as $id ) { if( $allow_list[0] == "all" OR in_array( $id, $allow_list ) ) { if( in_array( $id, $not_allow_list ) ) continue; if( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = ""; else $color = "style=\"color: red\" "; $returnstring .= "<option {$color}value=\"" . $id . '" '; if( is_array( $categoryid ) ) { foreach ( $categoryid as $element ) { $element = intval($element); if( $element == $id ) $returnstring .= 'selected'; } } elseif( intval($categoryid) == $id ) $returnstring .= 'selected'; $returnstring .= '>' . $sublevelmarker . $cat_info[$id]['name'] . '</option>'; } $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring ); } } } return $returnstring; } и в addnews и editnews правишь под чебокс Что править? Можно поподробнее. Спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
alukardua 27 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 1 час назад, vyborg сказал: Что править? Можно поподробнее. Спасибо вот раздел который формирует набор селекта if( count( $root_category ) ) { foreach ( $root_category as $id ) { if( $allow_list[0] == "all" OR in_array( $id, $allow_list ) ) { if( in_array( $id, $not_allow_list ) ) continue; if( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = ""; else $color = "style=\"color: red\" "; $returnstring .= "<option {$color}value=\"" . $id . '" '; if( is_array( $categoryid ) ) { foreach ( $categoryid as $element ) { $element = intval($element); if( $element == $id ) $returnstring .= 'selected'; } } elseif( intval($categoryid) == $id ) $returnstring .= 'selected'; $returnstring .= '>' . $sublevelmarker . $cat_info[$id]['name'] . '</option>'; } $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring ); } } правишь на if( count( $root_category ) ) { foreach ( $root_category as $id ) { if( $allow_list[0] == "all" OR in_array( $id, $allow_list ) ) { if( in_array( $id, $not_allow_list ) ) continue; if( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = ""; else $color = "style=\"color: red\" "; $returnstring .= "<input type="checkbox" {$color}id=\"" . $id . '" '; if( is_array( $categoryid ) ) { foreach ( $categoryid as $element ) { $element = intval($element); if( $element == $id ) $returnstring .= 'selected'; } } elseif( intval($categoryid) == $id ) $returnstring .= 'selected'; $returnstring .= '>' . $sublevelmarker . $cat_info[$id]['name']; } $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring ); } } а в inc/addnews <div class="col-sm-10"> <select data-placeholder="{$lang['addnews_cat_sel']}" title="{$lang['addnews_cat_sel']}" name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="width:100%;max-width:350px;">{$categories_list}</select> на <div class="col-sm-10"> <div id="checkboxes" style="width:100%;max-width:350px;">{$categories_list}</div> также в editnews и по идее должно заработать не проверял, так как мне менять нет смысла Цитата Ссылка на сообщение Поделиться на других сайтах
vyborg 0 Опубликовано: 16 мая 2019 Рассказать Опубликовано: 16 мая 2019 Автор Спасибо)) Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.