Создание страниц в стиле конференции

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
папа
phpBB 1.4.4
Сообщения: 106
Зарегистрирован: 30.12.2011 16:05
Благодарил (а): 5 раз

Re: Создание страниц в стиле конференции

Сообщение папа » 08.02.2014 14:35

а нет ли возможности создавать страницы из админки а не с хостинга?

Аватара пользователя
владимир1983
phpBB 3.1.9
Сообщения: 5954
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 391 раз
Поблагодарили: 730 раз

Re: Создание страниц в стиле конференции

Сообщение владимир1983 » 08.02.2014 16:35

В теме обсуждали такой мод если мне не изменяет память, почитай тему.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)

Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Зарегистрирован: 27.12.2013 21:03
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз

Re: Создание страниц в стиле конференции

Сообщение userAx » 21.02.2014 20:42

Я наверное где-то туплю, поэтому прошу подсказать более опытных гуру в данном вопросе:
Хочу вывести кол-во сообщений пользователя из опеределённого форума на страницу viewtopic_body, делаю так:

Код: Выделить всё

	$query = 'SELECT COUNT(*) as user_count_posts , u.username, u.user_id
				FROM ' . POSTS_TABLE . ' AS p
				LEFT JOIN ' . FORUMS_TABLE . ' AS f ON p.forum_id = f.forum_id
				LEFT JOIN ' . USERS_TABLE . ' AS u ON p.poster_id = u.user_id
				WHERE p.post_approved = 1
				AND f.forumas = 0
                                AND f.forum_id = 45
				GROUP BY u.user_id';
				
	$sql_res = $db->sql_query($query);

	while ($res = $db->sql_fetchrow($sql_res))
	{
		$user_total_posts[] = $res;
	}
	$postrow = array_merge($postrow,array(
		'U_COUNT_FORUM_TOPICS' =>$user_total_posts['user_count_posts']
		));	
	//
И вместо картинки:
2 - admin
457 - Злодей
375 - whitebar
я вижу:
2 - admin
2 - admin
2 - admin
:(

Есть ли документация по функционалу phpbb, как для него писать какие-либо доработки. Плохо искал, наверное :?
Может быть есть какие-либо примеры по использованию. Был бы очень признателен.
И ещё вопросик 
хотел создать свою страницу для вывода на неё определённой информации, нашёл код
Скрытый текст

Код: Выделить всё

      $sql = 'SELECT user_id, username, user_posts, user_colour
         FROM ' . USERS_TABLE . '
         WHERE user_type <> ' . USER_IGNORE . "
            AND user_posts <> 0
            AND username <> ''
         ORDER BY user_posts DESC";
      $result = $db->sql_query_limit($sql, $config['board3_topposters_' . $module_id]);
 
      while (($row = $db->sql_fetchrow($result)))
      {
         $template->assign_block_vars('topposters', array(
            'S_SEARCH_ACTION'   => append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $row['user_id'] . '&sr=posts'),
            'USERNAME_FULL'      => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
            'POSTER_POSTS'      => $row['user_posts'],
         ));
      }
      $db->sql_freeresult($result);
По его примеру хотел сделать аналогичный вывод информации:

Код: Выделить всё

		
		while ($row = $db->sql_fetchrow($result))
		{			
			$template->assign_vars(array(
				'AUTHORID' 		=>  $row['author_id'],
				'TEXT' 	=> $row['message_text'],
				'TOADDRESS' 	=> $row['to_address']	
				));
		}		
Но в моём случае я вижу лишь одну строку...
Заранее всем спасибо за любые ответы!
С уважением.

Аватара пользователя
MIT
Former team member
Сообщения: 2500
Зарегистрирован: 14.03.2009 17:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 353 раза

Re: Создание страниц в стиле конференции

Сообщение MIT » 21.02.2014 21:29

userAx, смотри внимательнее: в приведённом в качестве примера коде используется assign_block_vars — массивы в шаблон можно передавать только с помощью неё.

Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Зарегистрирован: 27.12.2013 21:03
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз

Re: Создание страниц в стиле конференции

Сообщение userAx » 21.02.2014 21:52

MIT
По поводу передачи массивов в шаблон - спасибо, не знал!
То есть, если я хочу передать массив в шаблон нужно сделать так?

Код: Выделить всё

while ($row = $db->sql_fetchrow($result))
		{			
			$template->assign_block_vars('myArray',array(
				'AUTHORID' 		=>  $row['author_id'],
				'TEXT' 	=> $row['message_text'],
				'TOADDRESS' 	=> $row['to_address']	
				));
		}		
А в шаблоне обращаться к этим переменным через:
{myArray.TEXT}
?

Попробовал - вообще ничего не выводится :?

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9757
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2718 раз

Re: Создание страниц в стиле конференции

Сообщение Татьяна5 » 21.02.2014 21:56

Код: Выделить всё

<!-- BEGIN myArray -->
{myArray.TEXT}
<!-- END myArray -->

Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Зарегистрирован: 27.12.2013 21:03
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз

Re: Создание страниц в стиле конференции

Сообщение userAx » 21.02.2014 22:00

Татьяна5
Обрамил в условия свою таблицу, получилось так

Код: Выделить всё

<!-- BEGIN myArray -->


	<table width="100%" cellspacing="1" border="1">
        <th>Author</th>
        <th>Message</th>
        <th></th>
        <tr>
            <td>{AUTHORID}</td>        
            <td>{TEXT}</td>              
        </tr>
    </table>
<!-- END myArray -->
Ничего не выводится, пустота, а если к переменным добавить название блока, выводится
{myArray.Text}
Вместо нужного текста.

Аватара пользователя
MIT
Former team member
Сообщения: 2500
Зарегистрирован: 14.03.2009 17:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 353 раза

Re: Создание страниц в стиле конференции

Сообщение MIT » 21.02.2014 22:00

Если этот блок надо выводить внутри поста, то, скорее всего, надо вот так будет:

Код: Выделить всё

<!-- BEGIN myArray -->
{postrow.myArray.TEXT}
<!-- END myArray -->

Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Зарегистрирован: 27.12.2013 21:03
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз

Re: Создание страниц в стиле конференции

Сообщение userAx » 21.02.2014 22:02

MIT
Нет, это отдельная страница со своим шаблоном. Попробовал так как вы подсказали - вывело вместо информации
{postrow.myArray.TEXT}

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9757
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2718 раз

Re: Создание страниц в стиле конференции

Сообщение Татьяна5 » 21.02.2014 22:04

userAx писал(а):{myArray.Text}
В шаблоне myArray.Text или myArray.TEXT?
И покажите полный код, возможно что ошибка не там

Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Зарегистрирован: 27.12.2013 21:03
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз

Re: Создание страниц в стиле конференции

Сообщение userAx » 21.02.2014 22:06

Татьяна5
Полный код шаблона:

Код: Выделить всё

<!-- INCLUDE overall_header.html -->
<!-- INCLUDE quickedit.html -->
<!-- IF S_FORUM_RULES -->
	<div class="forumrules">
		<!-- IF U_FORUM_RULES -->
			<h3>{L_FORUM_RULES}</h3><br />
			<a href="{U_FORUM_RULES}"><b>{L_FORUM_RULES_LINK}</b></a>
		<!-- ELSE -->
			<h3>{L_FORUM_RULES}</h3><br />
			{FORUM_RULES}
		<!-- ENDIF -->
	</div>

	<br clear="all" />
<!-- ENDIF -->
<!-- BEGIN myArray -->


	<table width="100%" cellspacing="1" border="1">
        <th>Author</th>
        <th>Message</th>
        <tr>
            <td>{postrow.myArray.AUTHORID}</td>        
            <td>{postrow.myArray.TEXT}</td>       
        </tr>
    </table>
<!-- END myArray -->
 
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11488
Зарегистрирован: 18.02.2007 19:01
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2579 раз

Re: Создание страниц в стиле конференции

Сообщение Sheer » 21.02.2014 22:07

{myArray.TEXT}
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9757
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2718 раз

Re: Создание страниц в стиле конференции

Сообщение Татьяна5 » 21.02.2014 22:11

userAx, полный код php (хотя бы тот, который формирует и выводит массив)

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11488
Зарегистрирован: 18.02.2007 19:01
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2579 раз

Re: Создание страниц в стиле конференции

Сообщение Sheer » 21.02.2014 22:13

Татьяна5, ну этого достаточно

Код: Выделить всё

			$template->assign_block_vars('myArray',array(
				'AUTHORID' 		=>  $row['author_id'],
				'TEXT' 	=> $row['message_text'],
				'TOADDRESS' 	=> $row['to_address']	
				));
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
userAx
phpBB 1.4.4
Сообщения: 121
Зарегистрирован: 27.12.2013 21:03
Откуда: ZP
Благодарил (а): 13 раз
Поблагодарили: 10 раз

Re: Создание страниц в стиле конференции

Сообщение userAx » 21.02.2014 22:17

Sheer писал(а):{myArray.TEXT}
Выводит

{myArray.TEXT}, а не саму информацию.

Татьяна5

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
page_header('PM Admin');

if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', $user->lang['LOGIN']);
}

$sql = 'SELECT pm.author_id, pm.message_text, pm.to_address
			FROM ' . CHAT_TABLE . " as pm
			";
			
		$result = $db->sql_query($sql);
				
		while ($row = $db->sql_fetchrow($result))
		{			
			$template->assign_block_vars('myArray',array(
				'AUTHORID' 		=>  $row['author_id'],
				'TEXT' 	=> $row['message_text'],
				'TOADDRESS' 	=> $row['to_address']	
				));
		}		
$template->set_filenames(array(
    'body' => 'ViewPmAdmin.html',
));		
		$db->sql_freeresult($result);
		
		
		
page_footer();
?>

Вернуться в «Поддержка phpBB 3.0.х»