17DST→一起创造价值's Archiver

bluelovers 发表于 2007-11-16 22:23

查看主題頁面增加顯示論壇公告

因為實在有太多人都不會去注意首頁的論壇公告了

另外 別再把我帳號打錯了
是 [color=Red]bluelovers[/color] 最後有S在的...

演示
[img]http://img259.imageshack.us/img259/7250/002pk2.png[/img]

開啟 cache.func.php

找[code]'viewthread'        => array('forums'[/code]改為[code]'viewthread'        => array('announcements', 'forums'[/code]開啟 viewthread.php

找[code]viewthread_parsetags();[/code]下面加上[code]viewthread_announcements();[/code]最底下加上[code]// bluelovers
function viewthread_announcements() {
        global $announcements, $dateformat, $timeoffset, $groupid, $_DCACHE, $_DCOOKIE;
//        @require_once DISCUZ_ROOT.'./forumdata/cache/cache_index.php';
       
        $announcements = '';
        if($_DCACHE['announcements']) {
                $readapmids = !empty($_DCOOKIE['readapmid']) ? explode('D', $_DCOOKIE['readapmid']) : array();
                foreach($_DCACHE['announcements'] as $announcement) {
                        if(empty($announcement['groups']) || in_array($groupid, $announcement['groups'])) {
                                if(empty($announcement['type'])) {
                                        $announcements .= '<li><a href="announcement.php?id='.$announcement['id'].'#'.$announcement['id'].'">'.$announcement['subject'].
                                                '<em>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</em></a></li>';
                                } elseif($announcement['type'] == 1) {
                                        $announcements .= '<li><a href="'.$announcement['message'].'" target="_blank">'.$announcement['subject'].
                                                '<em>('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</em></a></li>';
                                } elseif($discuz_uid && $announcement['type'] == 2 && !in_array($announcement['pmid'], $readapmids)) {
                                        $announcement['announce'] = TRUE;
                                        $pmlist[] = $announcement;
                                        $announcepm++;
                                }
                        }
                }
        }
        unset($_DCACHE['announcements']);
}
// bluelovers[/code]開啟

找[code]<!--{if !empty($newpmexists) || $announcepm}-->
        <div class="maintable" id="pmprompt">
        {template pmprompt}
        </div>
<!--{/if}-->[/code]下面加上[code]<!--{if $announcements}-->
        <div id="announcement" onmouseover="if(!anncount) {clearTimeout(annst);annst = 0}" onmouseout="if(!annst) annst = setTimeout('announcementScroll()', anndelay);">
                <div id="announcementbody"><ul>$announcements</ul></div>
        </div>
        <script type="text/javascript">
                var anndelay = 3000;
                var anncount = 0;var annheight = 36;var annst = 0;
                function announcementScroll() {
                        if(!annst) {
                                $('announcementbody').innerHTML += '
' + $('announcementbody').innerHTML;$('announcementbody').scrollTop = 0;
                                if($('announcementbody').scrollHeight > annheight * 3) {
                                        annst = setTimeout('announcementScroll()', anndelay);
                                } else {
                                        $('announcement').onmouseover = $('announcement').onmouseout = null;
                                }
                                return;
                        }
                        if(anncount == annheight) {
                                if($('announcementbody').scrollHeight - annheight <= $('announcementbody').scrollTop) {
                                        $('announcementbody').scrollTop = $('announcementbody').scrollHeight / 2 - annheight;
                                }
                                anncount = 0;annst = setTimeout('announcementScroll()', anndelay);
                        } else {
                                $('announcementbody').scrollTop++;anncount++;annst = setTimeout('announcementScroll()', 10);
                        }
                }
               
                _attachEvent(window, 'load', announcementScroll);

        </script>
<!--{/if}-->[/code]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.