Технический сбой

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

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


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

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

Ответил: 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 - -

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

Twelvee
Юзер

Twelvee - -

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

DomiTori
Юзер

DomiTori - -

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

Twelvee
Юзер

Twelvee - -

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

DomiTori
Юзер

DomiTori - -

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

liar_84
Юзер

liar_84 - -

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

LazyDev
PHP-developer

LazyDev - -

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

Мой блог: LazyDev.pro

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

liar_84
Юзер

liar_84 - -

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

LazyDev
PHP-developer

LazyDev - -

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

Мой блог: LazyDev.pro

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

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

наверх