LINUX.ORG.RU

[phpbb3] есть специалисты?


0

0

Есть одно интересное поделие на основе сабжа - phpbb3 portal. Хочу переделать немного готовый блок активных авторов.

Мне необходимо вывести блок top_posters не в левой, а в центральной колонке. Это элементарно - сделал. Проблема вот в чем: Правлю portal/block/top_posters.php, из админки правлю top_poster.html, в итоге список пользователей выводится вертикально, то есть каждый пользователь на новой строчке. Мне надо, чтобы выводились пользователи по горизонтали. Подскажите, как мне такое сделать?

portal/block/top_posters.php:

<?php
/*
*
* @package phpBB3 Portal  a.k.a canverPortal  ( www.phpbb3portal.com )
* @version $Id: top_posters.php,v 1.4 2008/02/09 08:18:14 angelside Exp $
* @copyright (c) Canver Software - www.canversoft.net
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
*/

$sql = 'SELECT user_id, username, user_posts, user_colour, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height
    FROM ' . USERS_TABLE . '
    WHERE user_type <> ' . USER_IGNORE . '
        AND user_posts <> 0
    ORDER BY user_posts DESC';
$result = $db->sql_query_limit($sql, $config['portal_max_most_poster']);

while( ($row = $db->sql_fetchrow($result)) && ($row['username']) )
{
    $template->assign_block_vars('top_poster', array(
        'S_SEARCH_ACTION'=> append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $row['user_id'] . '&amp;sr=posts'),
        'USERNAME'        => censor_text($row['username']),
        'USERNAME_COLOR'=> ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] .'"' : '',
        'U_USERNAME'    => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&amp;u=' . $row['user_id']),
        'POSTER_POSTS'    => $row['user_posts'],
                'U_AVATAR' => get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']),
        )
    );
}
$db->sql_freeresult($result);

$template->assign_vars(array(
    'S_DISPLAY_TOP_POSTERS' => true
));

?>

top_poster.html:

<!-- $Id: top_poster.html,v 1.1 2008/02/09 08:18:16 angelside Exp $ //-->
<div class="panel">
    <div class="inner">
        <span class="corners-top"><span></span></span>
            <h3>Доска почета!</h3>
            <!-- BEGIN top_poster -->

<a href="{top_poster.U_USERNAME}"><br />
<span<!-- IF top_poster.USERNAME_COLOR -->{top_poster.USERNAME_COLOR}<!-- ENDIF -->>{top_poster.USERNAME}</span></a>
{top_poster.U_AVATAR}<br />
Сообщений:<a href="{top_poster.S_SEARCH_ACTION}"> {top_poster.POSTER_POSTS}</a><br />

<br style="clear:both" />

            <!-- END top_poster -->        
        <span class="corners-bottom"><span></span></span>
    </div>
</div>
<br style="clear:both" />

Где-то лежит парсер, который упорно игнорирует все намеки php-кода в top_poster.html. Если бы хотя бы этого не было, я бы забил и тупо в top_poster.html прописал бы весь нужный скрипт с sql-запросом и выводом (знаю, что костыль страшный). Но где исправить?

Заранее большое спасибо!

★★

Ответ на: комментарий от Deleted

не понимаешь.
Принцип такой:
все, чтонаходится между тегами
<!-- BEGIN top_poster -->
......
<!-- END top_poster -->

При каждой итериции цикла выводится на отдельной строчке. Мне надо заставить выводиться на одной строчке

vitroot ★★
() автор топика
Ответ на: комментарий от Deleted

а те <br />'ы, про которые ты говоришь, только для разделения на разные строки логины, аватарки и кол-ва сообщений

vitroot ★★
() автор топика
Ответ на: комментарий от vitroot

smthng like this. нэ?
----------
<div>
<!-- BEGIN top_poster -->
<div style="float:left">
<a href="{top_poster.U_USERNAME}"><br />
<span<!-- IF top_poster.USERNAME_COLOR -->{top_poster.USERNAME_COLOR}<!-- ENDIF -->>{top_poster.USERNAME}</span></a>
{top_poster.U_AVATAR}<br />
Сообщений:<a href="{top_poster.S_SEARCH_ACTION}"> {top_poster.POSTER_POSTS}</a>
</div>
<!-- END top_poster -->
</div>
<br style="clear:both" />

iSage ★★★★
()
Ответ на: комментарий от vitroot

А можно где-нибудь посмотреть рабочий вариант блока с вертикальным расположением пользователей?

edigaryev ★★★★★
()
Ответ на: комментарий от vitroot

Что-то ты меня совсем запутал :) Ладно, раз ответа не знаю не буду «полоскать» мозг :}

Deleted
()

Мне кажется или тут просто нет оснований для вывода в строку? Попробуй сделать таблицу, например так

<table><tr> <!-- BEGIN top_poster --> <td> ... </td> <!-- END top_poster --> </table></tr>

Или сделай несколько блоков в строку

<div> <!-- BEGIN top_poster --> <span style="float:left;">...</span> <!-- ENDtop_poster --> </div>

Зы. Ты точно пишешь пхп код в шаблоне так?

<!-- PHP --> echo "hello!"; <!-- ENDPHP -->

portalgun
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.