Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как при добавлении новости в addnews скрыть визуальный редактор полной и краткой новости?

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


     10.09.2015    Общие вопросы    803

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

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

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

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


Комментарии пользователей (22)

vitnet
218

2171 | 930

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

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

zip
129 | 7

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

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

zip
129 | 7

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
218

2171 | 930

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

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

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

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

joydo
4

171 | 31

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

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

joydo
4

171 | 31

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
129 | 7

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

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

joydo
4

171 | 31

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
129 | 7

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

$categoryfilter .= <<<HTML
    } else {

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

zip
129 | 7

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
4

171 | 31

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
129 | 7

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
4

171 | 31

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
129 | 7

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

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

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


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

joydo
4

171 | 31

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

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

zip
129 | 7

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

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

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

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

joydo
4

171 | 31

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

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

zip
129 | 7

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

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

joydo
4

171 | 31

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

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

zip
129 | 7

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

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

joydo
4

171 | 31

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

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

zip
129 | 7

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

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

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

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