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

Как сделать вывод подкатегорий в новом окне в добавление новостей?


     24.01.2015    Все вопросы » Общие вопросы по PHP    2747

вопрос
Здравствуйте.

Есть окно стандартного выбора категорий при создании новости. Но не очень удобно выбирать подкатегории, так как каждая категория имеет большое количество подкатегорий. Возможно ли сделать вывод подкатегорий в новом окне?

Маленькая особенность:

При нажатии в категорию (основную). В другом окне появляются её подкатегории.

За ранее большое спасибо.

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


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

atlantistim
Юзер

atlantistim - 24 января 2015 07:34 -

очень нужная тема, тоже есть такая необходимость, так как на сайте более 15 категорий и в них по 20 подкатегорий. Либо может еще какой то удобный способ выбора категорий.

wsionc
Юзер

wsionc - 24 января 2015 21:56 -

Если вариант такой подойдет могу подробней описать как сделать!!!
Скриншот № 1
Скриншот № 2
Скриншот № 3

ychelovek
Юзер

ychelovek - 25 января 2015 00:39 -

Опишите пожалуйста

roma
Юзер

roma - 24 января 2015 23:35 -

wsionc,http://ruvit.ws/uploads/qip-shot-screen-012.png

Идёт как категория, или это просто надпись?

wsionc
Юзер

wsionc - 25 января 2015 00:53 -

Все что вы видите на скриншотах это категории, скрины сделаны с работающего сайта....

roma
Юзер

roma - 25 января 2015 00:59 -

wsionc, я говорю про раздел мультфильмы. Мультфильмы, это категория - а всё что под ним, под категории? Или это просто надпись Мультфильмы, а всё остальное категории?

wsionc
Юзер

wsionc - 25 января 2015 01:08 -

Это просто надпись, ниже под категории...

roma
Юзер

roma - 25 января 2015 01:38 -

Увы.. но не надо такое. Спасибо.

wsionc
Юзер

wsionc - 25 января 2015 01:58 -

Ошибочку написал, мультфильмы это основная категория, а все что ниже то под категории...

roma
Юзер

roma - 25 января 2015 02:56 -

wsionc,ну давайте попробуем сделать так. Но на самом деле, тот вариант, который хочу я, был бы на много лучше. Просто ваш вариант он хоть и решает одну проблему, но с ней и вторая выходит - так как категорий 30 где-то и след, будет 30 подобных полей с подкатегориями - громоздка..

wsionc
Юзер

wsionc - 25 января 2015 09:50 -


Пример того что вы получите вы можете посмотреть на скриншоте.
Для начало ищем в addnews.php и удаляем (по желанию можно оставить)

$categories_list = CategoryNewsSelection( 0, 0 );


Например у вас идут категории фильмы - id 34 , сериалы -id 23 и мультфильмы - id 17 тогда прописуем так,


$categories_film = CategoryNewsSelection( 0, 34 );
$categories_serial = CategoryNewsSelection( 0, 23 );
$categories_cartoon = CategoryNewsSelection( 0, 17 );


Ниже ищем


                             <div class="form-group">
                              <label class="control-label col-lg-2">{$lang['addnews_cat']}</label>
                              <div class="col-lg-10">
                                <select data-placeholder="{$lang['addnews_cat_sel']}" name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="width:100%;max-width:350px;">{$categories_list}</select>
                              </div>
                            </div>


В место него вставляем


<!-- Start -->
<div class="form-group1" style="margin-left: 17%;margin-bottom: 20px; */">
<table width="600px">
<thead>
<tr>
<td style="width:200px;padding-bottom: 7px;"><b>Фильмы</b></td>
<td style="width:200px;padding-bottom: 7px;"><b>Сериалы</b></td>
<td style="width:200px;padding-bottom: 7px;"><b>Мультфильмы</b></td>
</tr>
</thead>
<td style="width:200px;"><select name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="max-width:220px;">{$categories_film}</select></td>
<td style="width:200px;"><select name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="max-width:220px;">{$categories_serial}</select></td>
<td style="width:200px;"><select name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="max-width:220px;">{$categories_cartoon}</select></td>
</table>
</div>
<!-- End-->                    


На этом все, тут пример сделан на 3 основные категории в них выводится еще по 20 категорий...

P.S. Ранее я скрины скидывал там используются вкладки tab, в тех скринах выводится около 850-900 категорий. И все работает на отлично.

Если кто то может посоветовать лучше и более простой вариант, было бы интересно посмотреть так как тут надо немного поработать ручками...)))


Вот вкладки TAB что использовались на первых скринах
<div class="tabs">
    <input id="tab1" type="radio" name="tabs" checked>
    <label for="tab1" title="Вкладка 1">Вкладка 1</label>

    <input id="tab2" type="radio" name="tabs">
    <label for="tab2" title="Вкладка 2">Вкладка 2</label>

    <input id="tab3" type="radio" name="tabs">
    <label for="tab3" title="Вкладка 3">Вкладка 3</label>

    <input id="tab4" type="radio" name="tabs">
    <label for="tab4" title="Вкладка 4">Вкладка 4</label>

    <section id="content1">
        <p>
        Здесь размещаете любое содержание....
        </p>
    </section>  
    <section id="content2">
        <p>
          Здесь размещаете любое содержание....
        </p>
    </section>
    <section id="content3">
        <p>
          Здесь размещаете любое содержание....
        </p>
    </section>
    <section id="content4">
        <p>
          Здесь размещаете любое содержание....
        </p>
    </section>    
</div>



/* Базовый контейнер табов */
.tabs {
  min-width: 320px;
  max-width: 800px;
  padding: 0px;
  margin: 0 auto;
}
/* Стили секций с содержанием */
section {
  display: none;
  padding: 15px;
  background: #fff;
  border: 1px solid #ddd;
}
input {
  display: none;
}
/* Стили вкладок (табов) */
label {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 15px 25px;
  font-weight: 600;
  text-align: center;
  color: #aaa;
  border: 1px solid #ddd;
  background: #f1f1f1;
  border-radius: 3px 3px 0 0;
}
/* Подключаем шрифт-иконки Font Awesome в формате Unicode */
label:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}
label[for*='1']:before {
  content: '\f19a';
}
label[for*='2']:before {
  content: '\f17a';
}
label[for*='3']:before {
  content: '\f13b';
}
label[for*='4']:before {
  content: '\f13c';
}
/* Изменения стиля заголовков вкладок при наведении */
label:hover {
  color: #888;
  cursor: pointer;
}
/* Стили для активной вкладки */
input:checked + label {
  color: #555;
  border: 1px solid #ddd;
  border-top: 1px solid #009933;
  border-bottom: 1px solid #fff;
  background: #fff;
}
/* Активация секций с помощью переключателя :checked */
#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3,
#tab4:checked ~ #content4 {
  display: block;
}
/* медиа запросы для различных типов носителей */  
@media screen and (max-width: 680px) {
  label {
    font-size: 0;
  }
  label:before {
    margin: 0;
    font-size: 18px;
  }
}
@media screen and (max-width: 400px) {
  label {
    padding: 15px;
  }
}


Далее ваша фантазия как вы хотите все разместить

ychelovek
Юзер

ychelovek - 25 января 2015 13:59 -

Ну если с указанием конкретных категорий то можно вообще с помощью JS размутиться... Но не удаляйте пожалуйста, посмотрю. Спасибо!

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

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

наверх