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

Модуль автоматического добавления доп поля?


     06.04.2017    Все вопросы » Модули    1060

вопрос
Доброго вечера товарищи. Подскажите, есть такой модуль, чтобы при добавлении категории к новости автоматом добавлялось доп поле связанное с этой категорией или наоборот... даже лучше чтобы на оборот?
И можно такое сделать? Замучился уже, при заполнении новости проставлять категории потом еще и доп поля ставить, бывает что-то забывается и приходиться редактировать...

Ответил: DomiTori


Открываем /engine/modules/show.full.php и ищем в нем код
$i ++;

выше вставляем
$xfdata = xfieldsdataload( $row['xfields'] );
		
		if (!$xfdata['доп_поле']) {
			
			foreach ($cat_list as $value) {
				
			if( $value ) $zapishem = $zapishem . $cat_info[$value]['name'] . ", ";

			}
			
			$xfdata['доп_поле'] = $zapishem;
			
			foreach($xfdata as $key => &$value)
			$arr_field[] = $key . "|" . str_replace('|', '|', $value);
			$xfdata = implode("||", $arr_field);
			unset($arr_field);
			$xfdata = $db->safesql($xfdata);
			$db->query( "UPDATE " . PREFIX . "_post SET xfields='$xfdata' WHERE id='{$newsid}'");
			
		}

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

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

DomiTori
Юзер

DomiTori - 7 апреля 2017 08:24 -

Тематика сайта? Как много категорий у вас (в частности тех которые нужно дублировать в доп поле). За спасибо врядли кто поможет, в разделе "стол заказов" помощь получите быстрее.

Twelvee
Юзер

Twelvee - 7 апреля 2017 08:36 -

Просто интересно, а зачем вам тематика его сайта и кол-во категорий?)

DomiTori
Юзер

DomiTori - 7 апреля 2017 11:08 -

Twelvee,
С этой информацией мне проще было бы помочь. Если категорий мало, кода будет мало, если их 1000 то даже браться не буду

Twelvee
Юзер

Twelvee - 7 апреля 2017 11:10 -

А нельзя категории циклом перебирать? Ведь они все в бд записаны

DomiTori
Юзер

DomiTori - 8 апреля 2017 07:25 -

Twelvee,
Изначально планировалось сопоставление id с именем категории делать, но в итоге сделал через foreach

liar_84
Юзер

liar_84 - 8 апреля 2017 11:56 -

DomiTori,
Спасибо за помощь. Не так много, около 60 категорий.
Подскажите, здесь
if (!$xfdata['доп_поле']) 
и здесь
$xfdata['доп_поле'] = $zapishem;
--- просто прописываем нужные доп поля через запятую?
За спасибо не жду, что кто сделает, хотя бывают исключения!) Если задача сложная, пробую сам разобраться, не получается тогда заказываю.

LazyDev
PHP-developer

LazyDev - 8 апреля 2017 12:33 -

liar_84, чем вас не устраивает тег
{category}
который выводит все выбранные категории к новости?

Мой блог: LazyDev.pro

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

liar_84
Юзер

liar_84 - 8 апреля 2017 15:28 -

Gameer,
Потому что не все выбранные категории мне нужно выводить в новости.

LazyDev
PHP-developer

LazyDev - 8 апреля 2017 22:05 -

liar_84, но код что дали делает тоже самое...

Мой блог: LazyDev.pro

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

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

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

наверх