Пропустить

Получение ID автора сообщения

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Получение ID автора сообщения

Сообщение 2Merlin » 02.11.2010 2:23

Здравствуйте, требуется, чтобы в сообщении пользователя была ссылка, которая содержит ID, пользователя. Т.е, например: http://test.ru/template.php?search=ID. Во viewtopic.php, собственно ссылка на профиль генерируется функцией:get_username_string, но во первых она возвращает строку, а во вторых я не нашел, где она описана. И может быть есть более простой вариант?

2Merlin
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 02.11.2010 2:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Получение ID автора сообщения

Сообщение FladeX » 02.11.2010 3:37

Там есть такая ссылка, она ведёт на профиль автора сообщения. Вид:
memberlist.php?mode=viewprofile&u=42

Если вы не про то, поясните подробнее, что нужно.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
FladeX
Former team member
 
Сообщения: 2079
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск
Благодарил (а): 6 раз.
Поблагодарили: 53 раз.

Re: Получение ID автора сообщения

Сообщение 2Merlin » 02.11.2010 3:56

Да, ссылка есть, но мне нужен только ID, чтобы подставить его в другую ссылку. Ссылка на профиль генерируется функцией get_username_string, но она только строки генерирует, а ID не отдается.

2Merlin
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 02.11.2010 2:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Получение ID автора сообщения

Сообщение Nekstati » 02.11.2010 4:23

Используйте в шаблоне переменную {postrow.POSTER_ID}. Или смотрите, как генерируются ссылки в viewtopic.php (строки 1524 и далее) и делайте свою соответственно.
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: Получение ID автора сообщения

Сообщение 2Merlin » 02.11.2010 5:32

POSTER_ID указывает на последнее сообщение в топике. Я пробовал уже).
А про генерацию, я уже смотрел и чуть выше описал свои мысли по этому поводу. Кроме, как дописывать функцию никаких вариантов нет? И где описана эта функция? Судя по аргументам, тип итоговой ссылки определяется первым параметром, т.е можно добавить еще один вариант.

2Merlin
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 02.11.2010 2:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Получение ID автора сообщения

Сообщение MIT » 02.11.2010 7:42

2Merlin писал(а):POSTER_ID указывает на последнее сообщение в топике. Я пробовал уже).
С какого это вдруг перепугу? POSTER_ID — идентификатор пользователя, оставившего сообщение и ничто иное.
Аватара пользователя
MIT
Поддержка
Поддержка
 
Сообщения: 2060
Зарегистрирован: 14.03.2009 18:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 16 раз.
Поблагодарили: 277 раз.

Re: Получение ID автора сообщения

Сообщение 2Merlin » 02.11.2010 8:54

Хм, окей.
Что я делаю не так:
viewtopic.php
		$template->assign_vars(array(
			'U_USER_LINK'		=> append_sid("{$phpbb_root_path}search&u=" . $poster_id),


Шаблон:
После:
				<!-- IF postrow.POSTER_AVATAR -->
					<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
				<!-- ENDIF -->

Вставляю:

<a href="{U_USER_LINK}">WHAT???</a>


Ссылка у всех сообщений одна:search&u=ID_ПОСЛЕДНЕГО_ЮЗЕРА_КОТОРЫЙ_ОСТАВИЛ_ПОСЛЕДНЕЕ_СООБЩЕНИЕ_В_ТЕМЕ.

2Merlin
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 02.11.2010 2:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Получение ID автора сообщения

Сообщение MIT » 02.11.2010 9:11

Начнём с того, что если ты хочешь выводить во viewtopic.php какие-то свои значения, то делать это надо в блоке, начинающимся со строк
// Send vars to template
$template->assign_vars(array( 
и нигде в другом месте, если не понимаешь, зачем в этом самом другом месте производится вывод данных в шаблон.
Но это только для единичных переменных! Которые назначаются только один раз.

Если тебе надо выводить дополнительные данные к каждому посту, то делать это уже надо в блоке, начинающимся с
	$postrow = array( 
и, опять же, никак иначе.

Дальше. Если ты вставил переменную первым способом, то обращатся к ней надо {ПЕРЕМЕННАЯ}, а вот если вторым — {postrow.ПЕРЕМЕННАЯ}, причём работать такая запись в шаблоне будет только между <!-- BEGIN postrow --> и <!-- END postrow -->.

Ну и последнее: $poster_id будет иметь верное значение только при использовании его во втором описанном мной случае. В любом другом месте ты можешь с лёгкостью нарваться на неверное или даже неопределённое значение.
Аватара пользователя
MIT
Поддержка
Поддержка
 
Сообщения: 2060
Зарегистрирован: 14.03.2009 18:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 16 раз.
Поблагодарили: 277 раз.

Re: Получение ID автора сообщения

Сообщение 2Merlin » 02.11.2010 9:31

Большое спасибо, сделал работает)

Есть ли какое нибудь руководство для разработчиков модов? Чтобы подробнее про это почитать.

2Merlin
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 02.11.2010 2:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Получение ID автора сообщения

Сообщение MIT » 02.11.2010 9:34

Аватара пользователя
MIT
Поддержка
Поддержка
 
Сообщения: 2060
Зарегистрирован: 14.03.2009 18:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 16 раз.
Поблагодарили: 277 раз.


Вернуться в Для авторов (phpBB 3.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы