Перейти к контенту

Тема перемещена


Рекомендуемые сообщения

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

она как бы пытается нам сказать просто ссылка

 

где такие штуки хранятся в базе, можно ли вместо ссылки на перемещенную тему сделать ссылку куда нибудь еще, "во вне" форума?

Ссылка на комментарий
Поделиться на других сайтах

сейчас я такую проблему решаю

такой строчкой в посте

<meta http-equiv='refresh' content='0; url=http://www.домен.ru'>

при включеном хтмл

 

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

Ссылка на комментарий
Поделиться на других сайтах

Поковырял mysql.

Отличия тем редиректов от обычных: в некоторых столбцах стоит значение NULL и тип у неё link,а адреса страницы, на которую ведёт топик не указано...

Ссылка на комментарий
Поделиться на других сайтах

надо самому залезть ...

а вообще получается - надо добавить условие, если линк и в какой то ячейке ссылка, то идём по ссылке ...

теперь надо найти в каком месте движок смотрит какой тип у ссылки ...

 

в колонке moved_to стоит айди темы и форума

искать надо это условие значит

знать бы хотя б в каком файле

 

файл forums.php

 

		if ($topic['state'] == 'link')
	{
		$t_array = explode("&", $topic['moved_to']);
		$topic['tid']	   = $t_array[0];
		$topic['forum_id']  = $t_array[1];
		$topic['title']	 = $topic['title'];
		$topic['views']	 = '--';
		$topic['posts']	 = '--';
		$topic['prefix']	= $this->ipsclass->vars['pre_moved']." ";
		$topic['go_new_post'] = "";
	}
	else if ( is_object( $this->ipsclass->compiled_templates['skin_forum'] ) )
	{
		$topic['posts'] = $this->ipsclass->compiled_templates['skin_forum']->who_link($topic['tid'], $topic['posts']);
	}

 

что за код если стэйт равно линк то вырываем из мувед_ту значения в массив т_аррей

тид = первый элемент массива

форум_ид = второй элемент

топик титл - это топик титл

просмотры темы и количество постов = два минуса

добавляем префикс "перемещено"

 

иначе

не понял что происходит

 

значится так ...

дальше, добавляем еще условие, if ($topic['state'] == 'redirect')

то ...

надо как-то сформировать ссылку, но тут задаются только айдишники, встраеваемые в общий шаблон... буду дальше рыть

 

мастеров бы сюда ... поидее две строчки вписать надо

 

-----------------------------

в каком месте формируется адрес ссылки?..

 

---------

нашел ... в скине он формируется окончательно

skin_forum - render_forum_row

			{$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<span id='tid-span-{$data['tid']}'><a id="tid-link-{$data['tid']}" href="{$this->ipsclass->base_url}showtopic={$data['tid']}" title="{$this->ipsclass->lang['topic_started_on']} {$data['start_date']}">{$data['title']}</a></span> {$data['PAGES']}
		<div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span></div>

заменить на

<if="$data['state']=='redirect'">
				   {$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<span id='tid-span-{$data['tid']}'><a id="tid-link-{$data['tid']}" href="{$data['moved_to']}" title="{$this->ipsclass->lang['topic_started_on']} {$data['start_date']}">{$data['title']}</a></span> {$data['PAGES']}
		<div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span></div>
<else />
		{$data['go_new_post']}{$data['prefix']} {$data['attach_img']}<span id='tid-span-{$data['tid']}'><a id="tid-link-{$data['tid']}" href="{$this->ipsclass->base_url}showtopic={$data['tid']}" title="{$this->ipsclass->lang['topic_started_on']} {$data['start_date']}">{$data['title']}</a></span> {$data['PAGES']}
		<div class="desc"><span onclick='return span_desc_to_input("{$data['tid']}");' id='tid-desc-{$data['tid']}'>{$data['description']}</span></div>
</if>

 

что я сделал:

поставил условие, что если ячейка state = redirect, то заменяем ссылку на содержание ячейки moved_to

 

что бы работало - перемещаем любую тему, оставляем на неё ссылку, идём в базу ищем эту ячейку, в ней меняем значение link на redirect, а в ячейку moved_to пишем интересующий нас адрес. всё.

 

это действующий набросок, надо доработать эту ерунду в файле forums.php, что бы задавались всякие красивые параметры, значок и префикс приделать ... и самое сложное сделать теперь нормальную форму создания такой темы...

хотя использовать можно уже сейчас

Изменено пользователем Vilz
Ссылка на комментарий
Поделиться на других сайтах

Заноси в state не слово "link" а другое например "out".

В moved_to заносси твой внешний линк (только по-моему там поле маловато, надо увеличивать).

И соответственно добавь обработку "out" рядом с тем кодом, что ты привёл выше.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.