Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Изменения вида Категорий

Изменения вида Категорий


     02.07.2014    Общие вопросы по вёрстке, Ламерские вопросы    3299

вопрос
Добрый день!
У меня есть список категорий select вида, как мне его сделать вот такого вида, чтобы галочки проставляешь и выбираешь нужные категории?

Сейчас:
Изменения вида Категорий


Хочу:
Изменения вида Категорий

Ответа пока нет


8 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 2 июля 2014 17:14 -

select и пачка checkbox чуть разные вещи...

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Sotnik
Юзер

Sotnik - 2 июля 2014 17:37 -

А что можно придумать? Мне не то чтобы нужны чекбоксы, мне нужно чтобы не было списка с ползунком...

FastFud
Юзер

FastFud - 2 июля 2014 18:01 -

Вместо {category} или как там он в addnews.html поставить

<input type="checkbox" name="catlist[]" value="category id">

Sotnik
Юзер

Sotnik - 2 июля 2014 18:37 -


Спасибо. Я уже нашёл хак. Вот что получилось:

Вот ссылка кому надо. Можно закрывать.

vip.boss
Гости

vip.boss - 3 июля 2014 11:18 -

***Комментарий удален***

vip.boss
Гости

vip.boss - 3 июля 2014 11:18 -

У меня ошибка DLE 10.2
Parse error: syntax error, unexpected '=' in /home/u530339311/public_html/engine/modules/functions.php on line 327

Sotnik
Юзер

Sotnik - 13 июля 2014 16:44 -

Цитата: vip.boss
У меня ошибка DLE 10.2

За 10.2 не ручаюсь, но на 10 прекрасно работает.
Я тут немного подправил стили и ошибку в коде. Короче вот:
Найди в engine/modules/functuions.php это:
function CategoryNewsSelection($categoryid = 0, $parentid = 0, $nocat = TRUE, $sublevelmarker = '', $returnstring = '') {
    global $cat_info, $user_group, $member_id, $dle_module;

    if ($dle_module == 'addnews') $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] );
    else $allow_list = explode( ',', $user_group[$member_id['user_group']]['allow_cats'] );

    $spec_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] );

    $root_category = array ();
    
    if( $parentid == 0 ) {
        if( $nocat ) $returnstring .= '<option value="0"></option>';
    } else {
        $sublevelmarker .= '&nbsp;&nbsp;&nbsp;';
    }
    
    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( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = "black";
                    else $color = "red";
                    
                    $returnstring .= "<option style=\"color: {$color}\" value=\"" . $id . '" ';
                    
                    if( is_array( $categoryid ) ) {
                        foreach ( $categoryid as $element ) {
                            if( $element == $id ) $returnstring .= 'SELECTED';
                        }
                    } elseif( $categoryid == $id ) $returnstring .= 'SELECTED';
                    
                    $returnstring .= '>' . $sublevelmarker . $cat_info[$id]['name'] . '</option>';
                }
                $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring );
            }
        }
    }
    return $returnstring;
}

И замени на этот код:
function CategoryNewsSelection($categoryid = 0, $parentid = 0, $nocat = TRUE, $sublevelmarker = '', $returnstring = '') {    global $cat_info, $user_group, $member_id;        $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] );    $spec_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] );    $root_category = array ();        if( $parentid == 0 ) {        if( $nocat ) $returnstring .= '';
    } else {
    $sublevelmarker .= '&nbsp;&nbsp;&nbsp;';
    }
    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( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = "black";
    else $color = "red";
    $returnstring .= "<div style=\"float:left;width:200px;\"><input id=\"catlist_".$id."\" onchange=\"onCategoryChange(this.value)\" name=\"catlist[]\" type=\"checkbox\" value=\"".$id."\"></input>";
    if( is_array( $categoryid ) ) {
    foreach ( $categoryid as $element ) {
    if( $element == $id ) $returnstring .= ' CHECKED ';
    }
    } elseif( $categoryid == $id ) $returnstring .= ' CHECKED ';
    $returnstring .= "<label for=\"catlist_".$id."\" style=\"color:#636060;padding-top:0px;position:absolute;text-transform:uppercase;\">" . $cat_info[$id]['name'] . "</label></div>";
    }
    $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring );
    }
    }
    }
    return $returnstring;}

vanill228
Юзер

vanill228 - 30 марта 2015 20:06 -

А как сделать тоже самое, но в админке?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх