ユーザ ログイン
ユーザ名 または メールアドレス:

パスワード:



パスワード紛失

新規登録

カテゴリ選択

コラム・ブログ : ブロックの順序を変える コンテンツの上と下にブロックを入れるテーマ
投稿者 : taki 投稿日時: 2008-05-25 (1724 ヒット)

テーマの中で、中央ブロックの順序を変える方法

ブロックの順序で、コンテンツを100の基準に、100以下は上。100以上は下。


PHPをtheme.htmlの中に記述します。

詳しくはGIJOEさんから紹介されています。
http://jp.xoops.org/modules/newbb/viewtopic.php?topic_id=3656&forum=18&post_id=48548

theme.html



<td id="centercolumn">

	<!-- Display center blocks if any -->
	<{if $xoops_showcblock == 1}>

	<{php}>
	$prev_htmls = array(
		'bdbd' => '' ,
		'bdcc' => '<table cellspacing="0"><tr><td class="centerCcolumn" colspan="2">' ,
		'bdcl' => '<table cellspacing="0"><tr><td class="centerLcolumn">' ,
		'bdcr' => '<table cellspacing="0"><tr><td class="centerLcolumn"></td><td class="centerRcolumn">' ,
		'ccbd' => '</td></tr></table>' ,
		'cccc' => '' ,
		'cccl' => '</td></tr><tr><td class="centerLcolumn">' ,
		'cccr' => '</td></tr><tr><td class="centerLcolumn"></td><td class="centerRcolumn">' ,
		'clbd' => '</td><td class="centerRcolumn"></td></tr></table>' ,
		'clcc' => '</td><td class="centerRcolumn"></td></tr><tr><td class="centerCcolumn" colspan="2">' ,
		'clcl' => '' ,
		'clcr' => '</td><td class="centerRcolumn">' ,
		'crbd' => '</td></tr></table>' ,
		'crcc' => '</td></tr><tr><td class="centerCcolumn" colspan="2">' ,
		'crcl' => '</td></tr><tr><td class="centerLcolumn">' ,
		'crcr' => '' ,
	) ;

 	$i = 0 ;
	$xoops_cblocks = array() ;
	foreach( $this->_tpl_vars['xoops_ccblocks'] as $i => $block ) {
		$weight = $block['weight'] * 65536 + $i ;
		$block['align'] = 'cc' ;
		$xoops_cblocks[ $weight ] =  $block ;
	}
	foreach( $this->_tpl_vars['xoops_clblocks'] as $i => $block ) {
		$weight = $block['weight'] * 65536 + $i + 16384 ;
		$block['align'] = 'cl' ;
		$xoops_cblocks[ $weight ] =  $block ;
	}
	foreach( $this->_tpl_vars['xoops_crblocks'] as $i => $block ) {
		$weight = $block['weight'] * 65536 + $i + 32768 ;
		$block['align'] = 'cr' ;
		$xoops_cblocks[ $weight ] =  $block ;
	}
	// body's weight = 100
	$xoops_cblocks[ 100 * 65536 + 49152 ] = array( 'align' => 'bd' ) ;
	ksort( $xoops_cblocks ) ;
	array_push( $xoops_cblocks , array( 'align' => 'bd' ) ) ;
	
	$prev_align = 'bd' ;
	foreach( $xoops_cblocks as $key => $block ) {
		$xoops_cblocks[$key]['prev_html'] = $prev_htmls[ $prev_align . $block['align'] ] ;
		$prev_align = $block['align'] ;
	}

	/* foreach( $xoops_cblocks as $key => $block ) {
		echo htmlspecialchars("$key:{$block['align']}:{$block['prev_html']}")."<br />" ;
	}
	exit ; */

	$last = array_pop( $xoops_cblocks ) ;
	$this->_tpl_vars['xoops_cblocks'] = $xoops_cblocks ;
	$this->_tpl_vars['xoops_cblocks_terminator'] = $last['prev_html'] ;
	<{/php}>

	<{foreach item=block from=$xoops_cblocks}>
	<{$block.prev_html}>

		<{if $block.align == "bd"}>

		<div id="content">
		<{$xoops_contents}>
		</div>

		<{else}>

		<div style="padding: 5px;">
		<{if $block.title|regex_replace:"/.*none/":"none" ne "none"}>
		<div class="blockTitle"><{$block.title}></div>
		<{/if}>
		<div class="blockContent"><{$block.content}></div>
		</div>

		<{/if}>

	<{/foreach}>
	<{$xoops_cblocks_terminator}>

	
	<{else}>
		<div id="content">
		<{$xoops_contents}>
		</div>
	
	<{/if}>
	<!-- End display center blocks -->

</td>


このコードをテーマに入れることで、順序をコントロールできます。


XOOPS対応レンタルサーバ

商用利用可


ロリポップ!
月額300円 容量300MB


チカッパ!
月額525円 容量1GB


ステップサーバー
月額250円 容量500MB


さくらインターネット
月額500円 容量1GB


エックスサーバー
月額1050円 容量1.5GB


ファーストサーバ
月額2940円 容量20GB
XOOPS本家日本サポート

テーマ学園
モジュール辞典

カップズープス
6 人のユーザが現在オンラインです。 (2 人のユーザが ブログ・XOOPSのサイト事例 を参照しています。)

登録ユーザ: 0
ゲスト: 6

もっと...

google 検索

Google