Username:
Password:
 Log me on automatically each visit
 
Aeroion.Ru
Форумы сервера Aeroion.Ru
Welcome

Aeroion.Ru Forum Index
  » Технические форумы
   » Поддержка и моды для phpBB2
    » Портал и все, что с ним связано!
   IM Portal
printer-friendly view
AuthorПортал и все, что с ним связано!
Lila Gender:Female

Участница


Joined: 23 Oct 2006
Posts: 23
Last Visited: Sun 03 Jun, 2007 00:14
Кредиты: 207
Reputation: 0
Age: 26
Zodiac: Libra Buffalo

У меня стоит IM Portal. Возник вопрос, как сделать, что на главной странице портала, тоесть portal.php выводились новые темы как тут на главной http://www.rc-mir.com/ ?
Back to topOffline View user's profile
Joe_Dou Gender:Male

Постоянный клиент


Joined: 19 Jul 2005
Location: дровишки, что ли?
Posts: 46
Last Visited: Tue 26 Oct, 2010 08:41
Кредиты: 336
Reputation: 0
Age: 32
Zodiac: Aquarius Goat

А здесь адд-оны для IM Portal не смотрели?
Мне кажется Recent Topics (IM Portal) вам подойдет.

_________________
Если у вас есть чёткая программа действий, железный организм и цель в жизнь, значит вы - межконтинентальная баллистическая ракета.
Back to topOffline View user's profile
Lila Gender:Female

Участница


Joined: 23 Oct 2006
Posts: 23
Last Visited: Sun 03 Jun, 2007 00:14
Кредиты: 207
Reputation: 0
Age: 26
Zodiac: Libra Buffalo

Это блок такой, либо справа либо слева, а мне нежно в середине вывод последних тем!
Back to topOffline View user's profile
Lila Gender:Female

Участница


Joined: 23 Oct 2006
Posts: 23
Last Visited: Sun 03 Jun, 2007 00:14
Кредиты: 207
Reputation: 0
Age: 26
Zodiac: Libra Buffalo

Я кажется поняла, но мои знания php не достаточны для этого!!!
Значит есть два файла для вывода новостей на страницу портала (по стандарту)
это blocks_imp_forum.php
Code:
<?php
/***************************************************************************
 *                           blocks_imp_forum.php
 *                            -------------------
 *   begin                : Saturday, March 20, 2004
 *   copyright            : (C) 2004 masterdavid - Ronald John David
 *   website              : http://www.integramod.com
 *   email                : webmaster@integramod.com
 *
 *   note: removing the original copyright is illegal even you have modified
 *         the code.  Just append yours if you have modified it.
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

if ( !defined('IN_PHPBB') )
{
    die("Hacking attempt");
}

if(!function_exists(imp_forum_block_func))
{
    function imp_forum_block_func()
    {
        global $phpbb_root_path, $template, $phpEx, $lang, $portal_config,$HTTP_GET_VARS;

        include_once($phpbb_root_path . 'fetchposts.'.$phpEx);

        $template->assign_vars(array(
            'L_COMMENTS' => $lang['Comments'],
            'L_VIEW_COMMENTS' => $lang['View_comments'],
            'L_POST_COMMENT' => $lang['Post_your_comment'],
            'L_POSTED' => $lang['Posted'],
            'L_ANNOUNCEMENT' => $lang['Post_Announcement']
            )
        );

        //
        // Fetch Posts from Announcements Forum
        //
        if(!isset($HTTP_GET_VARS['article']))
        {
            $template->assign_block_vars('welcome_text', array());

            $fetchposts = phpbb_fetch_posts($portal_config['md_news_forum_id'], $portal_config['md_num_news'], $portal_config['md_news_length']);

            for ($i = 0; $i < count($fetchposts); $i++)
            {
                if( $fetchposts[$i]['striped'] == 1 )
                {
                    $open_bracket = '[ ';
                    $close_bracket = ' ]';
                    $read_full = $lang['Read_Full'];
                }
                else
                {
                    $open_bracket = '';
                    $close_bracket = '';
                    $read_full = '';
                }

                $template->assign_block_vars('fetchpost_row', array(
                    'TITLE' => $fetchposts[$i]['topic_title'],
                    'POSTER' => $fetchposts[$i]['username'],
                    'TIME' => $fetchposts[$i]['topic_time'],
                    'TEXT' => $fetchposts[$i]['post_text'],
                    'REPLIES' => $fetchposts[$i]['topic_replies'],
                    'U_VIEW_COMMENTS' => append_sid('viewtopic.' . $phpEx . '?t=' . $fetchposts[$i]['topic_id']),
                    'U_POST_COMMENT' => append_sid('posting.' . $phpEx . '?mode=reply&amp;t=' . $fetchposts[$i]['topic_id']),
                    'U_READ_FULL' => append_sid('portal.' . $phpEx . '?article=' . $i),
                    'L_READ_FULL' => $read_full,
                    'OPEN' => $open_bracket,
                    'CLOSE' => $close_bracket)
                );
            }
        }
        else
        {
            $fetchposts = phpbb_fetch_posts($portal_config['md_news_forum_id'],  $portal_config['md_num_news'], 0);

            $i = intval($HTTP_GET_VARS['article']);

            $template->assign_block_vars('fetchpost_row', array(
                'TITLE' => $fetchposts[$i]['topic_title'],
                'POSTER' => $fetchposts[$i]['username'],
                'TIME' => $fetchposts[$i]['topic_time'],
                'TEXT' => $fetchposts[$i]['post_text'],
                'REPLIES' => $fetchposts[$i]['topic_replies'],
                'U_VIEW_COMMENTS' => append_sid('viewtopic.' . $phpEx . '?t=' . $fetchposts[$i]['topic_id']),
                'U_POST_COMMENT' => append_sid('posting.' . $phpEx . '?mode=reply&amp;t=' . $fetchposts[$i]['topic_id'])
                )
            );
        }
        //
        // END: Fetch Announcements
        //
    }
}

imp_forum_block_func();
?>


и forum_block.tpl
Code:
 <!-- BEGIN fetchpost_row -->
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
  <tr>
    <td class="catHead" height="25">
      <table  width="100%" cellpadding="2" cellspacing="1" border="0">
        <td><span class="genmed"><b>{L_ANNOUNCEMENT}: {fetchpost_row.TITLE}</b></span></td>
        <td align="right"><span class="gensmall">{L_POSTED}: <b>{fetchpost_row.POSTER}</b> @ {fetchpost_row.TIME}</span></td>
      </table>
    </td>
  </tr>
  <tr>
    <td class="row1" align="left"><p align="Justify"><span class="gensmall" style="line-height:150%">{fetchpost_row.TEXT}</p>{fetchpost_row.OPEN}<a href="{fetchpost_row.U_READ_FULL}">{fetchpost_row.L_READ_FULL}</a>{fetchpost_row.CLOSE}</span></td>
  </tr>
  <tr>
    <td class="row3" align="left" valign="middle"> <span class="gensmall">{L_COMMENTS}: {fetchpost_row.REPLIES} :: <a href="{fetchpost_row.U_VIEW_COMMENTS}">{L_VIEW_COMMENTS}</a> (<a href="{fetchpost_row.U_POST_COMMENT}">{L_POST_COMMENT}</a>)</span></td>
  </tr>
</table>

<img src="images/spacer.gif" width="6" height="6" border="0"><br>
<!-- END fetch_post_row -->

Вот если за место этого в forum_block.tpl внести данные от мода Top Topics on Index, то все получится, но что писать в blocks_imp_forum.php я не знаю, за основу можно взять мод, который прикреплен!

Добавлено спустя 9 минут 2 секунды:

Либо можно взять кусок вывода новых тем из вайфорум тпл, но что выбрать из вайфорум пхп я не знаю ((


Download 921.zip (2.41 KB). Added/Updated Mon 20 Nov, 2006 22:24. Downloaded 80 Time(s).

Back to topOffline View user's profile
Joe_Dou Gender:Male

Постоянный клиент


Joined: 19 Jul 2005
Location: дровишки, что ли?
Posts: 46
Last Visited: Tue 26 Oct, 2010 08:41
Кредиты: 336
Reputation: 0
Age: 32
Zodiac: Aquarius Goat

Lila, если навскидку. Я бы взял за основу мод Tape forum от XPerta, вычистил все ненужное из tape.php, а получившееся вставил в функцию phpbb_fetch_posts.
То же самое и c кодом для forum_block.tpl. Можно взять из tape_body.tpl этот кусок
Code:
    <!-- BEGIN topicrow -->
    <tr>
      <td class="row1" align="center" valign="middle" width="20"><img src="{topicrow.TOPIC_FOLDER_IMG}" width="19" height="18" alt="{topicrow.L_TOPIC_FOLDER_ALT}" title="{topicrow.L_TOPIC_FOLDER_ALT}" /></td>
      <td class="row1" width="100%"><span class="topictitle">{topicrow.NEWEST_POST_IMG}{topicrow.TOPIC_TYPE}<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a></span><span class="gensmall"><br />
        {topicrow.GOTO_PAGE}</span></td>
      <td class="row2" align="center" valign="middle"><span class="postdetails">{topicrow.REPLIES}</span></td>
      <td class="row3" align="center" valign="middle"><span class="name">{topicrow.TOPIC_AUTHOR}</span></td>
      <td class="row2" align="center" valign="middle"><span class="postdetails">{topicrow.VIEWS}</span></td>
      <td class="row3" align="center" valign="middle" nowrap="nowrap"><span class="postdetails">{topicrow.LAST_POST_TIME}<br />{topicrow.LAST_POST_AUTHOR} {topicrow.LAST_POST_IMG}</span> </td>
    </tr>
    <!-- END topicrow -->
 

Tape forum можно на phpbbguru.net взять.

Добавлено спустя 1 минуту 48 секунд:

вот тема

_________________
Если у вас есть чёткая программа действий, железный организм и цель в жизнь, значит вы - межконтинентальная баллистическая ракета.
Back to topOffline View user's profile
Lila Gender:Female

Участница


Joined: 23 Oct 2006
Posts: 23
Last Visited: Sun 03 Jun, 2007 00:14
Кредиты: 207
Reputation: 0
Age: 26
Zodiac: Libra Buffalo

Cпасибо, а что из этого мода сюда blocks_imp_forum.php написать?
Back to topOffline View user's profile
Joe_Dou Gender:Male

Постоянный клиент


Joined: 19 Jul 2005
Location: дровишки, что ли?
Posts: 46
Last Visited: Tue 26 Oct, 2010 08:41
Кредиты: 336
Reputation: 0
Age: 32
Zodiac: Aquarius Goat

То, что формирует список тем. Примерно начиная с этого фрагмента
Code:
//
// Grab all the basic data (all topics except announcements)
// for this forum

Естественно надо переписать запрос. Выкинуть из него условия AND t.topic_type <> " . POST_ANNOUNCE . ". сортировку может переделать и еще много чего выкинуть, например это
Code:
// Checking forums user can post new topics to
.....................
.....................
    $template->assign_block_vars('switch_no_auth_post', array());
}

, дальше код переделать и вставить то, что получилось, в phpbb_fetch_posts

_________________
Если у вас есть чёткая программа действий, железный организм и цель в жизнь, значит вы - межконтинентальная баллистическая ракета.
Back to topOffline View user's profile
Lila Gender:Female

Участница


Joined: 23 Oct 2006
Posts: 23
Last Visited: Sun 03 Jun, 2007 00:14
Кредиты: 207
Reputation: 0
Age: 26
Zodiac: Libra Buffalo

Спасибо конечно, но у меня не получится...
Back to topOffline View user's profile
Joe_Dou Gender:Male

Постоянный клиент


Joined: 19 Jul 2005
Location: дровишки, что ли?
Posts: 46
Last Visited: Tue 26 Oct, 2010 08:41
Кредиты: 336
Reputation: 0
Age: 32
Zodiac: Aquarius Goat

Lila, попробуйте файлы во вложении.
Скопируйте fetchposts.php в папку с форумом, blocks_imp_forum.php в папку blocks, forum_block.tpl в папку templates/subSilver/blocks

Должно получиться как на http://www.rc-mir.com/
Если что, пишите


Download portal.zip (7.01 KB). Added/Updated Mon 27 Nov, 2006 18:38. Downloaded 39 Time(s).
Модифицированный IM Portal


_________________
Если у вас есть чёткая программа действий, железный организм и цель в жизнь, значит вы - межконтинентальная баллистическая ракета.
Last edited by Joe_Dou on Mon 27 Nov, 2006 18:40; edited 1 time in total
Back to topOffline View user's profile
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1165
Last Visited: Yesterday at 14:46
Кредиты: 3714
Reputation: 48
Age: 41
Zodiac: Aquarius Pig

Неплохо Smile, только бы код немного подчистить.
И еще предложение. Я бы немного по-другому сделал вывод тем. Дело в том, что темы в portal.php выводятся из форумов, определенных в конфигурации портала ($portal_config['md_news_forum_id'])
Если вам нужны темы из всех, доступных для посетителя, форумов, то можно сделать примерно так

Code:
 
#
#---- [ OPEN ] ---------------
#
blocks/blocks_imp_forum.php

#
#---- [ FIND ] ---------------
#
            $fetchposts = phpbb_fetch_posts($portal_config['md_news_forum_id'], $board_config['topics_per_page'], $portal_config['md_news_length']);

#
#---- [ BEFORE, ADD ] ---------------
#
            $forums_auth = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
            $forums_auth_sql = '';
            foreach ($forums_auth as $k=>$v)
            {
                if ( $v['auth_view'] && $v['auth_read'] )
                {
                    $forums_auth_sql .= (( $forums_auth_sql == '' ) ? '': ', ') . $k;
                }
            }

#
#---- [ IN-LINE FIND ] ---------------
#
$portal_config['md_news_forum_id']

#
#---- [ IN-LINE REPLACE WITH ] ---------------
#
$forums_auth_sql

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, слать емайлы, пытаться писать в приват. Спасибо за понимание.
Please do not PM, ICQ or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Skype Name
Lila Gender:Female

Участница


Joined: 23 Oct 2006
Posts: 23
Last Visited: Sun 03 Jun, 2007 00:14
Кредиты: 207
Reputation: 0
Age: 26
Zodiac: Libra Buffalo

Joe_Dou, ура!!!!!! Работает)))))) А как сделать, что только 20 тем на странице портала выводились?
Back to topOffline View user's profile
Joe_Dou Gender:Male

Постоянный клиент


Joined: 19 Jul 2005
Location: дровишки, что ли?
Posts: 46
Last Visited: Tue 26 Oct, 2010 08:41
Кредиты: 336
Reputation: 0
Age: 32
Zodiac: Aquarius Goat

Sergey, спасибо за идею, пожалуй так лучше будет.

Lila, в blocks/blocks_imp_forum.php в строке
Code:
$fetchposts = phpbb_fetch_posts($portal_config['md_news_forum_id'], $board_config['topics_per_page'], $portal_config['md_news_length']); 

$board_config['topics_per_page'] заменить на 20, то есть
Code:
$fetchposts = phpbb_fetch_posts($portal_config['md_news_forum_id'], 20, $portal_config['md_news_length']); 


Добавлено спустя 1 час 33 минуты 47 секунд:

Залил обновленный архив, файлы распиханы по папкам

_________________
Если у вас есть чёткая программа действий, железный организм и цель в жизнь, значит вы - межконтинентальная баллистическая ракета.
Back to topOffline View user's profile
Display posts from previous:   

Summary Rating For >> Портал и все, что с ним связано!
Average Rating: 0.00 :: Min Rating: 0 :: Max Rating: 0 :: Number of Ratings: 0
Choose Rating: 1   2   3   4   5  



All times are UTC + 3 Hours
All times are synchronized with the forum server time
Users browsing this topic:
Registered Users: None

Jump to:   
printer-friendly view
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum