Ссылка (прямая) на пост форума

748
и так выкладываю в паблик один из хаков к форуму версии 1.9 - а именно
как получить прямую ссылку на пост на форуме.
пользователи к примеру хотят дать ссылку на пост какого либо Васи в теме форума и не знают как её найти. пришлось помучиться и сделать
и так приступим
открываем /components/forum/frontend.php
находим в разделе if ($do=='thread'){

Код PHP:
				//message column
				echo '<td width="" class="post_msgcell" align="left" valign="top">';
					echo '<a name="'.$p['id'].'"></a>';
					//date & actions
					echo '<table width="100%" class="post_date"><tr>';								
					echo '<td><strong>#'.$num.'</strong> - '.$inCore->dateFormat($p['pubdate'], true, true).'</td>';
					echo '<td align="right">';

заменяем на

Код PHP:
				//message column
			            $pages = ceil($num / $perpage);
				echo '<td width="" class="post_msgcell" align="left" valign="top">';
					echo '<a name="'.$p['id'].'"></a>';
					//date & actions
					echo '<table width="100%" class="post_date"><tr>';								
					echo '<td><a href="/forum/thread'.$t['id'].'-'.$pages.'.html#'.$p['id'].'"><strong>#'.$num.'</a></strong> - '.$inCore->dateFormat($p['pubdate'], true, true).'</td>';
					echo '<td align="right">';

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

если навести на #2 - это будет прямая ссылка на второй пост и так далее

ps цена (кому пригодилось) - плюс в карму zst
[Модуль] Информация о ПК | Георгиевская лента - [Модуль] Праздничные эффекты на сайт
Комментарии (8)
reload 22 апреля 2012 в 04:57 0
Полезно без спору! +

теперь желательно все эти ссылки закрыть от индексаци)
и наверное доработать каноникал
Хотя якоря вроде наши ПСы понимают но лучше самому перестраховаться)
Zau4man 22 апреля 2012 в 15:29 0
Спасибо, юзеры просили это сделать.
теперь желательно все эти ссылки закрыть от индексаци)
у себя сделаю их видимыми только для зарегистрированных.
Dorimen 23 апреля 2012 в 07:35 0
А как сделать, чтобы только для зарегистрированных?
Sergey Platonov 23 апреля 2012 в 07:41 0
поставить условие if (если пользователь - то ссылка - нет - идите лесом)
Dorimen 23 апреля 2012 в 07:42 0
Ну это я понял, но я не программист к сожалению. Если Вам не сложно, дайте конкретный код, пожалуйста. :(
Sergey Platonov 23 апреля 2012 в 07:53 0
ну к примеру вот так
вместо
Код PHP:
//message column
           $pages = ceil($num / $perpage);
echo '<td width="" class="post_msgcell" align="left" valign="top">';
	echo '<a name="'.$p['id'].'"></a>';
	//date & actions
	echo '<table width="100%" class="post_date"><tr>';								
if (!$inUser->id){
    echo '<td><strong>#'.$num.'</strong> - '.$inCore->dateFormat($p['pubdate'], true, true).'</td>';
	} else {
    echo '<td><a href="/forum/thread'.$t['id'].'-'.$pages.'.html#'.$p['id'].'"><strong>#'.$num.'</a></strong> - '.$inCore->dateFormat($p['pubdate'], true, true).'</td>';
	}
	echo '<td align="right">';
Dorimen 23 апреля 2012 в 08:07 +1
Здорово, спасибо!
IRATE 23 апреля 2012 в 07:33 0
Классно! Огромное спасибо!