CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Вывод дополнительных полей в краткой новости
Официальный форум Eleanor CMS » Поддержка пользователей системы Eleanor CMS » Первые шаги
Как осуществить вывод доп. полей в краткой новости *Base.html
Alexander
Сейчас посмотрел код. Почему-то я не предусмотрел такого вывода. :(
Если интересует, выложу инструкцию как это сделать. Или Вы готовое хотите?
Loader
Цитата (Alexander @ 2021-08-04 03:37)
Если интересует, выложу инструкцию как это сделать.

Хочу инструкцию! :friends:
Baxter
Цитата (Alexander @ 2011-08-15, 19:37)
Сейчас посмотрел код. Почему-то я не предусмотрел такого вывода. :(
Если интересует, выложу инструкцию как это сделать. Или Вы готовое хотите?


Если не затруднит.

SiTiS
+1, тоже бы хотел узнать реализацию этой идеи!
Alexander
Держите инструкцию для модуля News RC5. Для главной страницы. По аналогии можно сделать и для остальных.

Итак, функция NewsBeginPage()

Находим:
$result=$Mainclass->Db->Query('SELECT `id`,`url`,`main_cat`,`title`,`date`,`text`,`author`,`author_id`,`show_detail`,`votes`,`total`,`reads`,`comments`,`allow_comm` FROM `f_news` INNER JOIN `f_news_l` USING(`id`) WHERE `language`IN(\'\',\''.$Mainclass->lang_name.'\') AND'.$date_sql.' `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC LIMIT '.$offset.', '.$limit,__file__,__line__);


Заменяем на:
$result=$Mainclass->Db->Query('SELECT `id`,`url`,`main_cat`,`title`,`date`,`text`,`author`,`author_id`,`show_detail`,`votes`,`total`,`reads`,`comments`,`allow_comm`,`af` FROM `f_news` INNER JOIN `f_news_l` USING(`id`) WHERE `language`IN(\'\',\''.$Mainclass->lang_name.'\') AND'.$date_sql.' `status`=1 AND (`groups`=\'\''.$ug.') ORDER BY `pinned` DESC, `date` DESC LIMIT '.$offset.', '.$limit,__file__,__line__);
Измененные места выделены.
===
Находим:
while($arr=$Mainclass->Db->Fetch_assoc($result))


Добавляем ПЕРЕД:
		#Дополнительные поля
		$AddonFields=$Mainclass->LoadClass('classes/others/class_addon_fields.php');
		#[E]Дополнительные поля

===

Находим:
$sizes[$arr['id']]=array($arr['total'],$arr['votes']);


Добавляем ПЕРЕД:
			$addon_fields='<br />';
			$af=$AddonFields->OutPut($arr['af']);
			if (!empty($af))
			{
				foreach($af as $k=>$v)
					if($v['value'])
					{
						if($k=='dcurl' or strncmp('mag_',$k,4)==0)
							continue;
						$addon_fields.='<b>'.$v['title'].':'.'</b> '.$v['value'].'<br />';
					}
			}


Все. Теперь в переменной $addon_fields у нас содержатся дополнительные поля. Можем вывести их после текста, для этого, находим:
Strings::ParseOwnBB($arr['text'])

И добавляем сразу после него:
.$addon_fields


Не забудьте точку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.