Страница 3 из 13
Ваши темы
Добавлено: 12 сен 2014, 12:59
Алг
мы все учились по
немногу болванкам. Подключаешь в листенере нужное событие, пишешь функцию-обработчик этого события, в которой добавляешь переменные в темплейт, например, так ,
Код: Выделить всё
$this->template->assign_vars(array(
'MY_VARIABLE_STRING' => 'bla-bla',
'MY_VARIABLE_NUMBER' => 123,
));
проблема в другом.
Alecto писал(а):QR_BBPOST но, надо вместо egosearch ставить идентификатор
откуда это взял? нет такого кода в search.php
набери в адресной строке
Код: Выделить всё
http://anderson.phpbbguru.net/search.php?search_id=339
получишь ли свои сообщения?
Ваши темы
Добавлено: 12 сен 2014, 14:34
Alecto
Так не получу, надо по другому. Точно так же как из мини профилей. Посмотри, там рабочий код.
Отправлено спустя 1 час 32 минуты 25 секунд:
Код: Выделить всё
public function page_header_after($event)
{
$this->template->assign_vars(array(
'PROFILE_USER_ID' => XXXXXXXXXXXXXXXXXXXXX,
));
}
вставил функцию по аналогии из поиска Алг, как получить айди пользователя вместо XXXXXXXXXXXXXXXXXXXXX?
Ваши темы
Добавлено: 12 сен 2014, 14:49
Алг
сначала покажи, что у тебя в конструкторе написано
Отправлено спустя 3 минуты 48 секунд:
и о каком пользователе речь? о себе любимом или о любом?
Ваши темы
Добавлено: 12 сен 2014, 14:53
Alecto
вот слушатель, я там пытался из спасибок код ставить, бестолку, только сильно не ругайтесь.
Код: Выделить всё
<?php
/**
*
* @package myextension
* @copyright (c) 2014 Nickname
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace alecto\My\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Event listener
*/
class listener implements EventSubscriberInterface
{
/**
* Assign functions defined in this class to event listeners in the core
*
* @return array
* @static
* @access public
*/
static public function getSubscribedEvents()
{
return array(
'core.user_setup' => 'load_language_on_setup',
);
}
public function page_header_after($event)
{
$user_id = (int) $member['user_id'];
$this->template->assign_vars(array(
'PROFILE_USER_ID' => $user_id,
));
}
public function load_language_on_setup($event)
{
$lang_set_ext = $event['lang_set_ext'];
$lang_set_ext[] = array(
'ext_name' => 'alecto/My',
'lang_set' => 'my',
);
$event['lang_set_ext'] = $lang_set_ext;
}
}
для себя любимого работает egosearch.
речь идет о профиле любого пользователя.
открываешь любой профиль - нужен айди пользователя этого профиля, чтобы построить выборку.
Ваши темы
Добавлено: 12 сен 2014, 15:00
Алг
никто не ругается, только это не конструктор
айди пользователя ты должен извлечь из минипрофиля джаваскиптом и передать на сервер любым образом. Или в командную строку подставить "?u=339", или в контроллере, как параметр
Ваши темы
Добавлено: 12 сен 2014, 15:08
Татьяна5
Алг писал(а):QR_BBPOST извлечь из минипрофиля джаваскиптом
Зачем? Ссылка на профиль /memberlist.php?mode=viewprofile&
u=56
[ref]Alecto[/ref], а
__construct'ора в коде нет
Его надо добавить и передать туда
template и
request
Ваши темы
Добавлено: 12 сен 2014, 15:20
Alecto
так?
Код: Выделить всё
public function __construct(\phpbb\template\template $template, \phpbb\request\request $request)
{
$this->template = $template;
$this->request = $request;
}
Код: Выделить всё
public function page_header_after($event)
{
$this->template->assign_vars(array(
'PROFILE_USER_ID' => $this->request->variable('u', 0);,
));
}
Отправлено спустя 3 минуты 17 секунд:
чтото не то. админка в белый экран вылетать стала.
Ваши темы
Добавлено: 12 сен 2014, 15:26
Алг
Татьяна5 писал(а):QR_BBPOST Ссылка на профиль /memberlist.php?mode=viewprofile&u=56
как я поняла, речь не о профиле, а о минипрофилях
Alecto писал(а):QR_BBPOST чтото не то. админка в белый экран вылетать стала.
то самое. но у тебя в в файле services.yml и в конструкторе кол-во и порядок параметров должны соответствовать
Ваши темы
Добавлено: 12 сен 2014, 15:32
Alecto
о профиле.
Отправлено спустя 3 минуты 4 секунды:
так?
Код: Выделить всё
services:
alecto.PrimeUserTopics.listener:
class: alecto\PrimeUserTopics\event\listener
arguments:
- @template
- @request
tags:
- { name: event.listener }
Отправлено спустя 53 секунды:
все равно белый экран в админке после включения.
пайду павешусь.
Ваши темы
Добавлено: 12 сен 2014, 15:43
Татьяна5
Alecto писал(а):QR_BBPOST белый экран в админке
При разработке модов/расширений обычно включают все возможные отладчики (3 строки в config.php,
ini_set('display_errors', 'on'); там же, лог сервера) и смотрят на возникающие ошибки. "Белый экран" это не текст ошибки, по нему ничего сказать невозможно
;, - это как?