Обсуждение новой системы расширения функциональности phpBB 4.0-dev, разработки новых расширений.
			
		
		
			
				
								Alecto 							 
									
		Сообщения:  571  		Зарегистрирован:  05 авг 2014, 21:41 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Alecto   »  12 сен 2014, 15:48 
			
			
			
			
			
я думал, так можно ((((((
включил
Код: Выделить всё 
Fatal error: Uncaught exception 'Symfony\Component\Yaml\Exception\ParseException' with message 'Indentation problem at line 7 (near " tags:").' in /home/motobra2/public_html/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php:342 Stack trace: #0 /home/motobra2/public_html/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php(186): Symfony\Component\Yaml\Parser->getNextEmbedBlock() #1 /home/motobra2/public_html/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php(186): Symfony\Component\Yaml\Parser->parse('class: alecto\\P...', false, false) #2 /home/motobra2/public_html/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php(186): Symfony\Component\Yaml\Parser->parse('alecto.PrimeUse...', false, false) #3 /home/motobra2/public_html/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php(260): Symfony\Component\Yaml\Parser->parse('services:\n a...') #4 /home/motobra2/public_html/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.ph in /home/motobra2/public_html/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php on line 342
 
			
			
													
					Последний раз редактировалось 
Alecto  12 сен 2014, 18:18, всего редактировалось 1 раз.
									
 
			
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Татьяна5 							 
									
		Сообщения:  570  		Зарегистрирован:  02 фев 2014, 15:05 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Татьяна5   »  12 сен 2014, 16:00 
			
			
			
			
			
Точка с запятой это конец строки. Конца строки в массиве быть не может.
Alecto писал(а): QR_BBPOST  Indentation problem at line 7 (near " tags:").'
"Неправильный отступ на строке 7 (около 
tags: )"
tags:  - это из 
services.yml . Скорей всего на 7 строке есть знаки табуляции (notepad++ ими всё выравнивает по-умолчанию), а в файлах 
.yml  допускаются только пробелы
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Alecto 							 
									
		Сообщения:  571  		Зарегистрирован:  05 авг 2014, 21:41 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Alecto   »  12 сен 2014, 16:08 
			
			
			
			
			Татьяна5 писал(а): QR_BBPOST  на 7 строке есть знаки табуляции
похоже так и было.
выровнял пробелами - ошибка исчезла.
Татьяна5 писал(а): QR_BBPOST  Точка с запятой это конец строки.
поставил в конце запятую, правда айди в шаблоне не получил
Код: Выделить всё 
<?php
/**
*
* @package myextension
* @copyright (c) 2014 Nickname
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace alecto\PrimeUserTopics\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
	public function __construct(\phpbb\template\template $template, \phpbb\request\request $request)
	{
		$this->template = $template;
		$this->request = $request;
	}
	static public function getSubscribedEvents()
	{
		return array(
			'core.user_setup'					=>	'load_language_on_setup',
		);
	}
	public function page_header_after($event)
	{
		$this->template->assign_vars(array(
			'PROFILE_USER_ID'	=> $this->request->variable('u', 0),
			        ));	
	}
	public function load_language_on_setup($event)
	{
		$lang_set_ext = $event['lang_set_ext'];
		$lang_set_ext[] = array(
			'ext_name' => 'alecto/PrimeUserTopics',
			'lang_set' => 'PrimeUserTopics',
		);
		$event['lang_set_ext'] = $lang_set_ext;
	}
}
хотя бы ошибок никаких нет.
в html добавил так 
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Татьяна5 							 
									
		Сообщения:  570  		Зарегистрирован:  02 фев 2014, 15:05 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Татьяна5   »  12 сен 2014, 16:14 
			
			
			
			
			Код: Выделить всё 
   static public function getSubscribedEvents()
   {
      return array(
         'core.user_setup'               =>   'load_language_on_setup',
      );
   }
На какое событие здесь подписан метод 
page_header_after ?
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Alecto 							 
									
		Сообщения:  571  		Зарегистрирован:  05 авг 2014, 21:41 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Alecto   »  12 сен 2014, 16:20 
			
			
			
			
			Код: Выделить всё 
			'core.memberlist_view_profile'			=> 'page_header_after',
вот так сделал.
вытянул из спасибок.
правильно или нет - не знаю, но вроде как айди в шаблоне появился.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
	 
				
		
		
			
				
								Alecto 							 
									
		Сообщения:  571  		Зарегистрирован:  05 авг 2014, 21:41 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Alecto   »  12 сен 2014, 16:29 
			
			
			
			
			
вот так никак не удастся вставить?
если нет, может тогда заморочиться и сделать по аналогии с сообщениями:
Всего тем: XXX | Найти темы пользователя 
тогда хоть логично выглядеть будет.
или так как сейчас - смотрится логично?
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Татьяна5 							 
									
		Сообщения:  570  		Зарегистрирован:  02 фев 2014, 15:05 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Татьяна5   »  12 сен 2014, 16:51 
			
			
			
			
			Alecto писал(а): QR_BBPOST  вот так никак не удастся вставить?
На jQuery возможно 
(по-моему, довольно запутанная конструкция там выходит) 
Alecto писал(а): QR_BBPOST  Всего тем: XXX | Найти темы пользователя
Выполнить sql-запрос подсчитывающий количество тем пользователя и вывести значение в шаблон
Отправлено спустя  11 минут 24 секунды:  
Код: Выделить всё 
<a href="./search.php?search_id=egosearch&sr=topics&sf=firstpost">
Это ошибка.
1. Если форум установлен в подпапке, ссылка работать не будет
2. Если на форуме неправильно настроены куки, то при переходе по такой ссылке пользователя разлогинит
(Про ошибку вёрстки,  , молчу)[/color]
Функция Append sid 
И в конструктор надо будет ещё передать 
$phpbb_root_path  и 
$php_ext  (
$php_ext  в 3.1 = 
$phpEx  в 3.0)
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Alecto 							 
									
		Сообщения:  571  		Зарегистрирован:  05 авг 2014, 21:41 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Alecto   »  12 сен 2014, 16:52 
			
			
			
			
			Код: Выделить всё 
SELECT * FROM `phpbb_posts` WHERE `poster_id`=3697 
вот так я выбираю все посты пользователя, но не могу найти по какому признаку проверять, что первый пост темы принадлежит пользователю?
 
			
			
									
						
										
						 
		 
				
		
		 
	 
	 
				
		
		
			
				
								Татьяна5 							 
									
		Сообщения:  570  		Зарегистрирован:  02 фев 2014, 15:05 		
		
						
						
		 
		
						
					
													
							
						
				
											Сообщение  
									 
				 Татьяна5   »  12 сен 2014, 16:55 
			
			
			
			
			Есть ещё phpbb_topics (таблица по объёму всегда меньше phpbb_posts, значит и запрос будет легче) 
Подсчитать в sql-запросе сколько строк соответствуют условию - COUNT