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

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

  1.  
  2. //message column
  3. echo '<td width="" class="post_msgcell" align="left" valign="top">';
  4. echo '<a name="'.$p['id'].'"></a>';
  5. //date & actions
  6. echo '<table width="100%" class="post_date"><tr>';
  7. echo '<td><strong>#'.$num.'</strong> - '.$inCore->dateFormat($p['pubdate'], true, true).'</td>';
  8. echo '<td align="right">';
  9.  
  10.  
заменяем на

  1.  
  2. //message column
  3. $pages = ceil($num / $perpage);
  4. echo '<td width="" class="post_msgcell" align="left" valign="top">';
  5. echo '<a name="'.$p['id'].'"></a>';
  6. //date & actions
  7. echo '<table width="100%" class="post_date"><tr>';
  8. echo '<td><a href="/forum/thread'.$t['id'].'-'.$pages.'.html#'.$p['id'].'"><strong>#'.$num.'</a></strong> - '.$inCore->dateFormat($p['pubdate'], true, true).'</td>';
  9. echo '<td align="right">';
  10.  
  11.  
в итоге у вас получится, что номер поста в треде будет в виде ссылки на этот пост
демо —
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

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

ps цена (кому пригодилось) — плюс в карму zst
0
reload reload 12 лет назад #
Полезно без спору! +

теперь желательно все эти ссылки закрыть от индексаци)
и наверное доработать каноникал
Хотя якоря вроде наши ПСы понимают но лучше самому перестраховаться)
0
Zau4man Zau4man 12 лет назад #
Спасибо, юзеры просили это сделать.
теперь желательно все эти ссылки закрыть от индексаци)
у себя сделаю их видимыми только для зарегистрированных.
0
Dorimen Dorimen 12 лет назад #
А как сделать, чтобы только для зарегистрированных?
0
Sergey Platonov Sergey Platonov 12 лет назад #
поставить условие if (если пользователь - то ссылка - нет - идите лесом)
0
Dorimen Dorimen 12 лет назад #
Ну это я понял, но я не программист к сожалению. Если Вам не сложно, дайте конкретный код, пожалуйста. :(
0
Sergey Platonov Sergey Platonov 12 лет назад #
ну к примеру вот так
вместо
Код 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">';
+1
Dorimen Dorimen 12 лет назад #
Здорово, спасибо!
0
IRATE IRATE 12 лет назад #
Классно! Огромное спасибо!

Еще от автора

Модуль для бесплатной версии компонента "Попутчики" автора Олег
и так представляю вашему вниманию модуль для бесплатной версии компонента "Попутчики" написанной Олегом.
список всех Event-ов системы
решил отдохнуть минут пять от подготовки к госам - полез сюда на сайт, прочитал такую строку в комментах в одном из последних блогов пришла идея разыс
[Хак] Выйти/войти и остаться на той же странице
где то видел на форуме тему про редирект при логине \ разлогине - как остаться на той же самой странице, если у вас стоит форма входа на всех страница
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.