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

Автозаполнение категории, как реализовать?


     20.08.2017    Автозаполнение категории    Общие вопросы, Общие вопросы по PHP    1474

вопрос
Всем привет, кто сможет помочь? У меня новость заполняет парсер, категории тоже выбирает он. Вопрос в следующем, как сделать если выбраны категории "сериалы" и "мультфильмы" автоматически добавлялась категория мультсериалы. Надеюсь объяснил нормально. Всем заранее спасибо.

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


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

maks
Юзер

maks - 20 августа 2017 18:12 -

Это у парсера надо спрашивать

ushkom
Юзер

ushkom - 20 августа 2017 18:24 -

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

nowheremany
Эксперт

nowheremany - 21 августа 2017 13:06 -

Так парсер же добавляет. Не?

Благодарность принимаю тут Связь

ushkom
Юзер

ushkom - 21 августа 2017 13:12 -

Да, парсер выбирает категории, но задача стоит в том чтоб при выборе допустим категории 2 и 3, также автоматом добавлялась категория 4, и не важно кто эти категории выбрал

nowheremany
Эксперт

nowheremany - 21 августа 2017 14:15 -

Цитата: ushkom
не важно кто эти категории выбрал

Такое в дле сделать нельзя. Потому что нет событий на добавление/изменение записи на уровне ядра. Единственное - можно сделать триггером на MySQL, либо писать какой-то скрипт который в определённое время проставит эту 4 категорию.

Так что тут правьте парсер, потом при добавлении новостей через админку, сайт и тп - самый "легкий" вариант

Благодарность принимаю тут Связь

ushkom
Юзер

ushkom - 21 августа 2017 14:23 -

Спасибо за разъяснение, придется что то думать

LazyDev
PHP-developer

LazyDev - 21 августа 2017 14:28 -

ushkom, у вас при добавлении новости парсер это делает или отдельно?

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

ushkom
Юзер

ushkom - 21 августа 2017 14:35 -

Парсер выбирает категории, но в нем правок не сделать, закодирован, да и обновляется часто

LazyDev
PHP-developer

LazyDev - 21 августа 2017 14:35 -

ushkom, если при добавлении новости с админ панели используете парсер и он заполняет Категории, то решить можно так.
Откройте engine/inc/addnews.php
<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>
Ниже вставьте
<script>
	$(function(){
		$('body').on('change', '#category', function(){
			var cat_list = $("#category").val();
			if($.inArray( "1", cat_list ) !== -1 && $.inArray( "2", cat_list ) !== -1) {
				$('#category option[value=3]').attr('selected','selected');
				$("#category").trigger("liszt:updated");
				onCategoryChange($("#category"));
			}
		});
	});
</script>

"1" - id категории Сериалы
"2" - id категории Мультфильмы
3 - id категории Мультсериалы

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

ushkom
Юзер

ushkom - 21 августа 2017 14:46 -

К сожалению не работает, может я не то подставил

<script>
$(function(){
$('body').on('change', '#category', function(){
var cat_list = $("#category").val();
if($.inArray( "3", cat_list ) !== -1 && $.inArray( "22", cat_list ) !== -1) {
$('#category option[value=408]').attr('selected','selected');
$("#category").trigger("liszt:updated");
onCategoryChange($("#category"));
}
});
});
</script>


3 категория сериалов
22 категория мультфильмов
408 категория мультсериалов

LazyDev
PHP-developer

LazyDev - 21 августа 2017 14:49 -

ushkom, проверялось, работало. Посмотрите консоль браузера на наличие возможных ошибок.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

ushkom
Юзер

ushkom - 21 августа 2017 15:02 -

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

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

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

наверх