Vilz Опубликовано 18 Февраля 2008 Жалоба Поделиться Опубликовано 18 Февраля 2008 когда перемещаю тему, остается ссылка в старом форуме, если галку не убратьона как бы пытается нам сказать просто ссылка где такие штуки хранятся в базе, можно ли вместо ссылки на перемещенную тему сделать ссылку куда нибудь еще, "во вне" форума? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 18 Февраля 2008 Жалоба Поделиться Опубликовано 18 Февраля 2008 Тоже интересует такой вопрос.Было бы не плохо, если бы кто нибудь создал мод: топики-редиректы. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vilz Опубликовано 18 Февраля 2008 Автор Жалоба Поделиться Опубликовано 18 Февраля 2008 сейчас я такую проблему решаю такой строчкой в посте<meta http-equiv='refresh' content='0; url=http://www.домен.ru'>при включеном хтмл но тут куча подводных камней, при просмотре портального профиля тебя точно так же редиректит по этой ссылке если тема там отображается Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 18 Февраля 2008 Жалоба Поделиться Опубликовано 18 Февраля 2008 Поковырял mysql.Отличия тем редиректов от обычных: в некоторых столбцах стоит значение NULL и тип у неё link,а адреса страницы, на которую ведёт топик не указано... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vilz Опубликовано 19 Февраля 2008 Автор Жалоба Поделиться Опубликовано 19 Февраля 2008 (изменено) надо самому залезть ...а вообще получается - надо добавить условие, если линк и в какой то ячейке ссылка, то идём по ссылке ... теперь надо найти в каком месте движок смотрит какой тип у ссылки ... в колонке 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, что бы задавались всякие красивые параметры, значок и префикс приделать ... и самое сложное сделать теперь нормальную форму создания такой темы...хотя использовать можно уже сейчас Изменено 19 Февраля 2008 пользователем Vilz Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Февраля 2008 Жалоба Поделиться Опубликовано 21 Февраля 2008 Заноси в state не слово "link" а другое например "out".В moved_to заносси твой внешний линк (только по-моему там поле маловато, надо увеличивать).И соответственно добавь обработку "out" рядом с тем кодом, что ты привёл выше. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vilz Опубликовано 21 Февраля 2008 Автор Жалоба Поделиться Опубликовано 21 Февраля 2008 дык я так вроде и сделал :-) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.