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

Изменение категорий новости в 'быстром' редакторе


 yeahga    27.04.2017    Быстрое редактирование, Изменение категорий, Категории    Стол заказов    968    14 комментариев

Здравствуйте! Нужно сделать возможным изменение категорий новости в быстром редактировании. DLE 11.3
Бюджет по договоренности.

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

MikeTheRaven
Юзер

MikeTheRaven - 27 апреля 2017 21:24 -

Обращайтесь, сделаю всё в лучшем виде.
Контакты в профиле.

yeahga
Юзер

yeahga - 27 апреля 2017 21:44 -

Отписал Вам в скайп.

startget
Юзер

startget - 28 апреля 2017 11:24 -

Поделись потом если можно

vitnet
Эксперт

vitnet - 28 апреля 2017 11:34 -

1.0 Открыть файл engine/ajax/editnews.php

найти
	set_vars( "usergroup", $user_group );
	$db->free();
}

добавить ниже
$cat_info = get_vars("category");

if( !is_array($cat_info) ) {
	$cat_info = array ();

	$db->query ( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
	while ( $row = $db->get_row () ) {
		$cat_info[$row['id']] = array ();

		foreach ( $row as $key => $value ) {
			$cat_info[$row['id']][$key] = stripslashes ( $value );
		}
	}
	set_vars("category", $cat_info);
	$db->free();
}

далее найти
	if( $id != $row['id'] ) die( "error" );
	
	$cat_list = explode( ',', $row['category'] );

добавить ниже
	if( is_array($cat_list) ) {
		$categories_list = CategoryNewsSelection($cat_list, 0);
	} else $categories_list = CategoryNewsSelection(0, 0);
	
	if( $config['allow_multi_category'] ) {
		$cats = "<select data-placeholder=\"{$lang['addnews_cat_sel']}\" name=\"catlist[]\" id=\"category\" style=\"width:350px; height:140px;\" multiple=\"multiple\">";
	} else {
		$cats = "<select data-placeholder=\"{$lang['addnews_cat_sel']}\" name=\"catlist[]\" id=\"category\" style=\"width:350px;\">";
	}

	$cats .= $categories_list;
	$cats .= "</select>";

далее найти
<div><br /><b>{$lang['s_fshort']}</b></div>

добавить выше
<div><br /><b>Категория</b></div>
<div><br />{$cats}</div>

далее найти
	$cat_list = explode( ',', $row['category'] );
	
	$have_perm = 0;

добавить ниже
	if( count($_POST['catlist']) ) {
		$catlist = $_POST['catlist'];
		$category_list = array();
	
		foreach ( $catlist as $value ) {
			$category_list[] = intval($value);
		}

		$cat_list = array_merge($category_list, $cat_list);
		$cat_list = array_unique($cat_list);
	}

далее найти
	if( !trim($_POST['title']) ) die( $lang['add_err_7'] );

	if ($parse->not_allowed_text ) die( $lang['news_err_39'] );

добавить ниже
	if( isset($category_list) ) {
		$category = ", category='" . $db->safesql(implode(',', $category_list)) . "'";
	} else $category = "";

далее найти
allow_br='$allow_br' WHERE id = '$id'" );

заменить на
allow_br='$allow_br'{$category} WHERE id = '$id'" );

2.0 Открыть файл engine/classes/js/dle_js.js
найти
b.user_hash=dle_login_hash;ShowLoading("");

заменить на
b.user_hash=dle_login_hash;b.catlist=$("#category").val();ShowLoading("");

Готово!

Чистим кеш браузера и радуемся.

startget
Юзер

startget - 28 апреля 2017 11:41 -

спасибо большое

yeahga
Юзер

yeahga - 28 апреля 2017 13:50 -

Я уже отчаялся решение искать! Спасибо Вам огромное!!

Апельсин
Юзер

Апельсин - 29 апреля 2017 00:05 -

Не могу найти строку в пункте 2.0 Открыть файл engine/classes/js/dle_js.js
Версия DLE 11.2

и строка

allow_br='$allow_br' WHERE id = '$id'" );

не такая. Она у меня выглядит вот так

allow_br='$allow_br',


Можете подсказать как правильно отредактировать? Заранее спасибо

Апельсин
Юзер

Апельсин - 14 июня 2017 19:21 -

Можно апнуть тему?

2.0 Открыть файл engine/classes/js/dle_js.js
найти
b.user_hash=dle_login_hash;ShowLoading("");


заменить на
b.user_hash=dle_login_hash;b.catlist=$("#category").val();ShowLoading("");


Версия DLE 11.2 и там нет такой строки. Подскажите, что отредактировать нужно. Буду крайне благодарен. С остальным разобрался.

Heavy1
Юзер

Heavy1 - 13 октября 2017 10:46 -

ап ап ап ап

Апельсин
Юзер

Апельсин - 11 июня 2018 19:44 -


Получилось реализовать на версии DLE 12.1 но с одним недочетом. Смена категории работает, но при быстром редактировании категория по умолчанию не выбрана.

Можно ли сделать так, что бы по умолчанию была выбрана категория, в которой новость находится в данный момент?

produm
Юзер

produm - 7 сентября 2018 07:40 -

Тоже не нашел : b.user_hash=dle_login_hash;ShowLoading(""); Версия 11.2
Кто-нибудь до конца разобрался уже в этом? Очень мало информации.

produm
Юзер

produm - 11 сентября 2018 14:24 -

Все нашел. Этот код есть только в версии 11.3. Все сделал, как бы заработало, НО. Категория после изменения в быстром редактировании просто обнуляется: новости ни присваивается ни какой категории, хотя выбор есть. Она попадает в список новостей , у которых нету категории.Будем искать.

Апельсин
Юзер

Апельсин - 15 сентября 2018 22:12 -

Именно так и у меня. Категория обнуляется. Версия DLE 12.1

produm
Юзер

produm - 17 сентября 2018 11:18 -

Прогресса пока нету. Ни кто не пишет. Возможно что-то в настройках движка.

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