Colors2x

xugj_assign を使って、メニューを生成するようにした。

theme.html の Center Center Column　にブロックウェイトによる
設定を行い、100以内だとコンテンツなどの一番上に表示して
100以上だと、コンテンツの下に表示するようにした。

なので、d3forumのテンプレート main_listcategories.html 
に設定していたブロック表示設定は消しましたぁ〜(^^ゞ

と思ったけど、全てのページに表示されるのも鬱陶しいので
復活させました。

----------------------------------------------------------------
<!-- marine modifi xugj_block topics -->
<{xugj_block file="modules/d3forum/blocks/blocks.php" func="b_d3forum_list_topics_show" opt="d3forum,10,1,time,1,0,," item="block"}>
<{if $block.full_view == true}>
<table class="outer" cellspacing="1">
<thead>
<tr>
	<th><{$block.lang_forum}></th>
	<th><{$block.lang_topic}></th>
	<th align="center"><{$block.lang_replies}></th>
	<th align="center"><{$block.lang_views}></th>
	<th align="center" colspan="2"><{$block.lang_lastpost}></th>
</tr>
</thead>
<{foreach item=topic from=$block.topics}>
<{strip}>
<tr class="<{cycle values="even,odd"}>">
	<td><a href="<{$block.mod_url}>/index.php?forum_id=<{$topic.forum_id}>"><{$topic.forum_title}></a></td>
	<td><a href="<{$block.mod_url}>/index.php?topic_id=<{$topic.id}>#post_id<{$topic.last_post_id}>">
	<{if $topic.u2t_marked}><img src="<{$block.mod_imageurl}>/block_marked.gif" alt="<{$block.lang_alt_marked}>" /><{/if}>
	<{* displays the last post's subject or topic title *}>
	<{if $block.disp_last_subject }>
	<{$topic.last_subject}>
	<{else}>
	<{$topic.title}>
	<{/if}></a>
	<{if ! $topic.solved}><img src="<{$block.mod_imageurl}>/block_unsolved.gif" alt="<{$block.lang_alt_unsolved}>" /><{/if}></td>
	<td align="center"><{$topic.replies}></td>
	<td align="center"><{$topic.views}></td>
	<td align="center" nowrap="nowrap"><{$topic.last_uname}></td>
	<td align="right" nowrap="nowrap"><{$topic.last_post_time_formatted}></td>
</tr>
<{/strip}>
<{/foreach}>
</table>

<div style="text-align:right; padding: 5px;">
<a href="<{$block.mod_url}>/index.php?page=search"><{$block.lang_linktosearch}></a>
&nbsp;
<{if is_numeric( $block.forums ) }>
<a href="<{$block.mod_url}>/index.php?forum_id=<{$block.forums}>"><{$block.lang_linktolisttopics}></a>
<{else}>
<a href="<{$block.mod_url}>/index.php?cat_ids=<{$block.categories}>"><{$block.lang_linktolisttopics}></a>
<{/if}>
&nbsp;
<{if is_numeric( $block.categories ) }>
<a href="<{$block.mod_url}>/index.php?cat_id=<{$block.categories}>"><{$block.lang_linktolistforums}></a>
&nbsp;
<{/if}>
<a href="<{$block.mod_url}>/index.php"><{$block.lang_linktolistcategories}></a>
</div>


<{else}>

<ol style="padding:3px;margin:0;">
<{foreach item=topic from=$block.topics}>
	<li><a href="<{$block.mod_url}>/index.php?topic_id=<{$topic.id}>"><{$topic.title}></a>(<{$topic.replies}>) <{$topic.last_uname}> <{$topic.last_post_time_formatted}></li>
<{/foreach}>
</ol>

<{/if}>

-- End marine modifi -->

<hr class="notification" />

<!-- marine modifi xugj_block posts 
<{$block.lang_posts}>
<{xugj_block file="modules/d3forum/blocks/blocks.php" func="b_d3forum_list_posts_show" opt="d3forum,20,time,,,0" item="block"}>
<ol style="padding:3px;margin:0;">
<{foreach item=post from=$block.posts}>
	<li style="margin:2px;margin-left:20px;list-style-type:decimal;">
		<a href="<{$block.mod_url}>/index.php?forum_id=<{$topic.forum_id}>"><{$topic.forum_title}></a>&nbsp;&nbsp;&gt;&nbsp;&nbsp;
		<a href="<{$block.mod_url}>/index.php?post_id=<{$post.id}>"><{$post.subject}></a>&nbsp;&nbsp;<{$post.uname}>&nbsp;&nbsp;<{$post.post_time_formatted}>
  </li>
<{/foreach}>
</ol>
<!-- End marine modifi -->

----------------------------------------------------------------



<!-- XUGJ Assign menu  -->
<{* menu *}>
<div id="Menu0">
	<a href="<{$xoops_url}>/"><{$smarty.const._COLORS_HOME_NAME}></a> |
	<{foreach from=$xugj_menus item="menu0"}>
		<{if $menu0.dirname == $xoops_dirname}>
			<{assign var="xugj_menus1" value=$menu0.sub}>
			<{assign var="menu0_class" value=" selected"}>
		<{else}>
			<{assign var="menu0_class" value=""}>
		<{/if}>
		<a href="<{$xoops_url}>/modules/<{$menu0.dirname}>/<{$menu0.url}>" class="menu_level0<{$menu0_class}>"><{$menu0.name}></a> |
	<{/foreach}>
</div>
<div id="Menu1">
	<{if $xugj_menus1}>
		<{foreach from=$xugj_menus1 item="menu1"}>
			<{if stristr( $smarty.server.REQUEST_URI , $menu1.url )}>
				<{assign var="xugj_menus2" value=$menu1.sub}>
				<{assign var="menu1_class" value=" selected"}>
			<{else}>
				<{assign var="menu1_class" value=""}>
			<{/if}>
			<a href="<{$xoops_url}>/modules/<{$menu1.dirname}>/<{$menu1.url}>" class="menu_level1<{$menu1_class}>"><{$menu1.name}></a> |
		<{/foreach}>
	<{/if}>
</div>
<div id="Menu2">
	<{if $xugj_menus2}>
		<{foreach from=$xugj_menus2 item="menu2"}>
			<{if stristr( $smarty.server.REQUEST_URI , $menu2.url )}>
				<{assign var="xugj_menus3" value=$menu2.sub}>
				<{assign var="menu2_class" value=" selected"}>
			<{else}>
				<{assign var="menu2_class" value=""}>
			<{/if}>
			<a href="<{$xoops_url}>/modules/<{$menu2.dirname}>/<{$menu2.url}>" class="menu_level2<{$menu2_class}>"><{$menu2.name}></a> |
		<{/foreach}>
	<{/if}>
</div>
<div id="Menu3">
	<{if $xugj_menus3}>
		<{foreach from=$xugj_menus3 item="menu3"}>
			<{if stristr( $smarty.server.REQUEST_URI , $menu3.url )}>
				<{assign var="xugj_menus4" value=$menu3.sub}>
				<{assign var="menu3_class" value=" selected"}>
			<{else}>
				<{assign var="menu3_class" value=""}>
			<{/if}>
			<a href="<{$xoops_url}>/modules/<{$menu3.dirname}>/<{$menu3.url}>" class="menu_level3<{$menu3_class}>"><{$menu3.name}></a> |
		<{/foreach}>
	<{/if}>
</div>
<div id="Menu4">
	<{if $xugj_menus4}>
		<{foreach from=$xugj_menus4 item="menu4"}>
			<{if stristr( $smarty.server.REQUEST_URI , $menu4.url )}>
				<{assign var="xugj_menus5" value=$menu4.sub}>
				<{assign var="menu4_class" value=" selected"}>
			<{else}>
				<{assign var="menu4_class" value=""}>
			<{/if}>
			<a href="<{$xoops_url}>/modules/<{$menu4.dirname}>/<{$menu4.url}>" class="menu_level4<{$menu4_class}>"><{$menu4.name}></a> |
		<{/foreach}>
	<{/if}>
</div>
<!--  End  XUGJ Assign menu -->





お手軽高速化ハック

include/functions.php 450行目から次のものを挿入する。

        $xoopsTpl->assign('lang_ifnotreload', sprintf(_IFNOTRELOAD, $url));
        $GLOBALS['xoopsModuleUpdate'] = 1;

        // GIJ start
        if( ! headers_sent() ) {
            $_SESSION['redirect_message'] = $message ;
            header( "Location: ".strtr(preg_replace('/[&]amp;/i','&',$url),"\r\n\0","   ") ) ;
            exit ;
        }
        // GIJ end

        $xoopsTpl->display('db:system_redirect.html');
        exit();





xugj_assign.phpの末尾がコメントアウトになっている理由は？


/*
$this->assign( 'xugj_menu_uls' , xugj_assign_display_menu_ul_recursively( $united_menus ) ) ;
function xugj_assign_display_menu_ul_recursively( $level_menus , $dirname = '' )
{
	$ret = "<ul>\n" ;
	foreach( $level_menus as $menu ) {
		if( ! empty( $menu['dirname'] ) ) $dirname = $menu['dirname'] ;
		$ret .= "<li>\n<a href=\"".XOOPS_URL.'/modules/'.$dirname.'/'.$menu['url']."\">".$menu['name']."</a>\n" ;
		if( ! empty( $menu['sub'] ) && is_array( $menu['sub'] ) ) $ret .= xugj_assign_display_menu_ul_recursively( $menu['sub'] , $dirname ) ;
		$ret .= "</li>\n" ;
	}
	return $ret . "</ul>\n" ;
}
*/

