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

Как при добавлении новости в addnews скрыть визуальный редактор полной и краткой новости?


     10.09.2015    Все вопросы » Общие вопросы    1018

вопрос
Как при добавлении новости в addnews скрыть визуальный редактор полной и краткой новости?

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

Подскажите как сделать?

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


22 комментария

vitnet
Эксперт

vitnet - 10 сентября 2015 11:46 -

Делайте по таком уже принципу как в доп. полях (выбрана кат. выводим BB панель и наоборот)

zip
Юзер

zip - 10 сентября 2015 12:09 -

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

zip
Юзер

zip - 10 сентября 2015 13:02 -

Сделал вот таким образом, как на том сайте:

addnews:
<tr id="news-add">
                <td colspan="2">
                    <b>Вводная часть: <span class="impot">*</span></b> (Обязательно)
                    <div>
                        [not-wysywyg]
                        <div>{bbcode}</div>
                        <textarea name="short_story" id="short_story" onclick=setFieldName(this.name) style="width: 740px;" rows="10" class="f_textarea" >{short-story}</textarea>
                        [/not-wysywyg]
                        {shortarea}
                    </div>
                </td>
            </tr>

CSS:
#news-add{
display: none;
}

При нажатии на кнопку добавить редактор и правда не отображается, но и при выборе категорий, он тоже не появляется.

vitnet
Эксперт

vitnet - 10 сентября 2015 14:04 -

А с чего бы ему появлятся?

Учите Jquery или javascript и тога у вас все получется!

PS: вешайте появление на какое-то действие.

joydo
Юзер

joydo - 10 сентября 2015 14:01 -

zip,
А что вы сделали, чтобы они отображались, если там стоит display:none;?;)
Вам дал отличную подсказку vitnet

joydo
Юзер

joydo - 10 сентября 2015 14:22 -

Заходим в engine\inc\xfields.php
Находим
if ($.isArray(value)) {

Вставляем ниже
ShowOrHideEx("news-add", jQuery.test('4', value) != -1 );
- где 4 ваша категория
Далее находим
$categoryfilter .= <<<HTML
    } else {

Вставляем ниже
ShowOrHideEx("news-add", value == 4); 
- где 4 ваша категория

Возле ид news-add добавить style="dislpay:none;" -чтобы изначально было скрыто
Надеюсь дальше сами разберетесь

zip
Юзер

zip - 10 сентября 2015 14:38 -

Сделал так, но ничего не отображается и даже доп. поля перестали появляться.

joydo
Юзер

joydo - 10 сентября 2015 14:39 -

Цитата: zip
if ($.isArray(value)) {

Покажите этот кусок кода


HTML;


    foreach ($xfields as $value) {

      if ( $value[2] ) {

        $categories = explode(",", $value[2]);
        $temp_array = array();

        foreach ($categories as $temp_value) {

            $temp_array[] = "jQuery.inArray('{$temp_value}', value) != -1";

        }

        $categories = implode(" || ", $temp_array);

        $categoryfilter .= "ShowOrHideEx(\"xfield_holder_{$value[0]}\", {$categories} );\r\n";
      }
    }

$categoryfilter .= <<<HTML
    } else {
        ShowOrHideEx("news-add", value == 4);


HTML;


p.s я делаю на 10.5, хотя не думаю что это важно

zip
Юзер

zip - 10 сентября 2015 14:44 -

$categoryfilter .= <<<HTML
    } else {

ShowOrHideEx("news-add", value == 1);
HTML;

zip
Юзер

zip - 10 сентября 2015 14:43 -

 function onCategoryChange(obj) {

    var value = $(obj).val();

    if ($.isArray(value)) {
ShowOrHideEx("news-add", jQuery.test('1', value) != -1 );

HTML;

joydo
Юзер

joydo - 10 сентября 2015 14:45 -

Цитата: zip
if ($.isArray(value)) {

А вторая часть?
p.s заменить
ShowOrHideEx("news-add", jQuery.test('4', value) != -1 );

на
ShowOrHideEx("news-add", jQuery.inArray('4', value) != -1 );

zip
Юзер

zip - 10 сентября 2015 14:51 -

Ну как вы написали, так я и сделал;

Первая часть после if ($.isArray(value)) { вставляем вот:

if ($.isArray(value)) {
ShowOrHideEx("news-add", jQuery.test('1', value) != -1 );

HTML;


Вторая часть после
$categoryfilter .= <<<HTML
    } else {


Вставляем вот:

$categoryfilter .= <<<HTML
    } else {

ShowOrHideEx("news-add", value == 1);
HTML;

joydo
Юзер

joydo - 10 сентября 2015 14:55 -

zip,
ShowOrHideEx("news-add", jQuery.test('1', value) != -1 );

Поменяйте на
ShowOrHideEx("news-add", jQuery.inArray('1', value) != -1 );

И в шаблоне вы точно все правильно сделали?
#news-add{
display: none;
} -
удалили?

zip
Юзер

zip - 10 сентября 2015 15:03 -

В CSS убрал
#news-add{
display: none;
} -

В addnews добавил:
<tr  id="news-add" style="dislpay:none;" >


Но, странно панель не скрывается, а при выборе категорий для 1 категории показывает оба поля, а для других только полную новость.

joydo
Юзер

joydo - 10 сентября 2015 15:05 -

zip,
А если головой подумать?!
Вы сделали это (НЕ! скрывать краткую) только для 1-ой категории и только для краткой новости....
И да, не стоит забывать, что краткая будет все равно обязательна для заполнения.

zip
Юзер

zip - 10 сентября 2015 15:15 -

Но, если не выбирать категорию, то показывает оба поля и не скрывает.

А до этого когда было в CSS они скрывались.

И при выборе 1-й категории показывает оба поля, а для других только полную новость, а не краткую показывает.

joydo
Юзер

joydo - 10 сентября 2015 15:16 -

zip,
О боже, я умываю руки.

zip
Юзер

zip - 10 сентября 2015 15:45 -

Все спасибо разобрался! Просто вы впервой инструкции написали style="dislpay:none;" а не displpay.
А я скопировал и не посмотрел внимательно, поэтому без категорий не скрывалось. Теперь все нормально. Спасибо большое, что помогли.

joydo
Юзер

joydo - 10 сентября 2015 15:48 -

zip,
Хех, точно) и я слепой)

zip
Юзер

zip - 10 сентября 2015 16:09 -

А как сделать для нескольких категорий? Мне нужно чтоб с 1 по 6 отображались оба поля, а здесь только краткая новость. А в 7-й категории, чтоб они не отображались. И без категорий, чтоб поля тоже не отображались.

joydo
Юзер

joydo - 10 сентября 2015 18:27 -

zip,
Объединить их под 1 id?
|| jQuery.inArray('4', value) != -1  
добавить к первой
||value==4
- ко второй

zip
Юзер

zip - 11 сентября 2015 11:11 -

Спасибо я уже додумался )

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

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

наверх