NV recent topics + Topic Text in Mouse Over

Под понятием Скрещивание подразумевается совмещение функционала одной модификации с другой. Полученные результаты всегда радуют глаз и позволяют сделать блоки более функциональными и информативными

Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas

Ответить
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

NV recent topics + Topic Text in Mouse Over

Сообщение DeaDRoMeO »

Ух сколько же я времени потратил на то, чтобы найти способ совмещения функционала модификаций и и наконец то нашел !!! Что получится в итоге
Текст первого сообщения темы при наведении на ее имя
Текст первого сообщения темы при наведении на ее имя
Текст последнего сообщения при наведении на иконку
Текст последнего сообщения при наведении на иконку
Открываем includes/functions_recenttopics.php и находим

Код: Выделить всё

if ($display_parent_forums)
	{
		$sql_query_array['SELECT'] .= ', f.parent_id, f.forum_parents, f.left_id, f.right_id';
	}

	$sql = $db->sql_build_query('SELECT', $sql_query_array);
	$result = $db->sql_query_limit($sql, $topics_per_page);
Вставляем перед найденным

Код: Выделить всё

// BEGIN Topic Text Hover Mod
			if ($config['hover_active'] && !$user->data['user_text_hover'])
			{
				include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);
				if($config['hover_show'] == TOPIC_TEXT_HOVER_FIRST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
				{
					$sql_query_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'p'), 'ON' => 'p.post_id = t.topic_first_post_id');
            		$sql_query_array['SELECT'] .= ', p.post_text AS first_text_hover';
				}
				if($config['hover_show'] == TOPIC_TEXT_HOVER_LAST || $config['hover_show'] == TOPIC_TEXT_HOVER_BOTH)
				{
					$sql_query_array['LEFT_JOIN'][] = array('FROM' => array(POSTS_TABLE => 'pt'), 'ON' => 'pt.post_id = t.topic_last_post_id');
					$sql_query_array['SELECT'] .= ', pt.post_text AS last_text_hover';
				}
			}
			// END Topic Text Hover Mod
Находим

Код: Выделить всё

$template->assign_block_vars($tpl_loopname, array(
Вставляем перед найденным

Код: Выделить всё

		  // BEGIN Topic Text Hover Mod
				if (!empty($row['first_text_hover']) || !empty($row['last_text_hover']))
				{
					// strip bbcode
					include($phpbb_root_path . 'includes/topic_text_hover.' . $phpEx);			
					if(!empty($row['first_text_hover']))
					{
						$first_text_hover = bbcode_strip($row['first_text_hover']);
						if (utf8_strlen($first_text_hover) >= $config['hover_char_limit'])
						{
							$first_text_hover = (utf8_strlen($first_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($first_text_hover, 0, $config['hover_char_limit']) . '...' : $first_text_hover;
						}
					}
					if(!empty($row['last_text_hover']))
					{
						$last_text_hover = bbcode_strip($row['last_text_hover']);
						if (utf8_strlen($last_text_hover) >= $config['hover_char_limit'])
						{
							$last_text_hover = (utf8_strlen($last_text_hover) > $config['hover_char_limit'] + 3) ? utf8_substr($last_text_hover, 0, $config['hover_char_limit']) . '...' : $last_text_hover;
						}
					}
				}
				else
				{
					$first_text_hover = $last_text_hover = '';
				}
				// END Topic Text Hover Mod
Находим

Код: Выделить всё

'S_TOPIC_TYPE'			=> $row['topic_type'],
Вставляем перед найденным

Код: Выделить всё

// BEGIN Topic Post Text Mod
				'FIRST_TEXT_HOVER'	=> (isset($first_text_hover)) ? censor_text($first_text_hover) : '',
				'LAST_TEXT_HOVER'	=> (isset($last_text_hover)) ? censor_text($last_text_hover) : '',
				'LAST_POST_IMG'		=> $user->img('icon_topic_latest'),
				// END Topic Post Text Mod
Открываем styles/ваш стиль/template/recent_topics_body.html и находим

Код: Выделить всё

href="{recent_topics.U_VIEW_TOPIC}" class="topictitle"

Вставляем после найденного

Код: Выделить всё

<!-- IF recent_topics.FIRST_TEXT_HOVER -->title="{recent_topics.FIRST_TEXT_HOVER}"<!-- ENDIF -->
Находим

Код: Выделить всё

href="{recent_topics.U_LAST_POST}"
Вставляем после найденного

Код: Выделить всё

<!-- IF recent_topics.LAST_TEXT_HOVER -->title="{recent_topics.LAST_TEXT_HOVER}"<!-- ENDIF -->
Находим

Код: Выделить всё

{recent_topics.LAST_POST_IMG}
Заменяем найденное на

Код: Выделить всё

<!-- IF recent_topics.LAST_TEXT_HOVER -->{recent_topics.LAST_POST_IMG}<!-- ELSE -->{LAST_POST_IMG}<!-- ENDIF -->
Чистим кеши и радуемся результатам :bra_vo:
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#1
Ответить