========================================================
Subject: header.php のハック
Version: 2.0.16 JP + p1
Date:    2006-11-01
Author:  Kenichi OHWADA
URL:     http://linux.ohwada.jp/
Email:   webmaster@ohwada.jp
========================================================

● header.php の変更内容
２つの変更をした。
変更を反映するには、テンプレートも変更する必要がある。
なお、従来のテンプレートでも 変更は反映されないが そのまま使える。

１． RDF/RSS/ATOM Auto Discovery に対応した
テンプレート用に xoops_rdf と xoops_rss と xoops_atom を出力する

デフォルトとして拙作の「新着情報モジュール」を設定している
-----
$xoopsTpl->assign('xoops_rdf',  'modules/whatsnew/rdf.php' );
$xoopsTpl->assign('xoops_rss',  'modules/whatsnew/rss.php' );
$xoopsTpl->assign('xoops_atom', 'modules/whatsnew/atom.php' );
-----

XOOPS標準の backend.php を設定することもできる
-----
$xoopsTpl->assign('xoops_rss',  'backend.php' );
-----

２． 中央ブロックを上下に割り付ける
XOOPS 2.0.10 JP から weight がアサインされたので、
header.php は変更なし。


● テンプレート の変更内容
テンプレート default の theme.html を変更した。

１． RDF/RSS/ATOM Auto Discovery に対応した
theme.html に下記を追加する
-----
<link rel="alternate" type="application/rdf+xml" title="RDF" href="<{$xoops_url}>/<{$xoops_rdf}>" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="<{$xoops_url}>/<{$xoops_rss}>" />
<link rel="alternate" type="application/atom+xml" title="ATOM" href="<{$xoops_url}>/<{$xoops_atom}>" />
-----

XOOPS標準の backend.php を設定したときは、RSSだけ設定する
-----
<link rel="alternate" type="application/rss+xml" title="RSS" href="<{$xoops_url}>/<{$xoops_rss}>" />
-----


２． 中央ブロックを上下に割り付けるようにした

themes/default/theme.html の変更例
weight 値が10未満と10以上で上下に分かれるように変更する。

変更前
----------
<!-- Start center-center blocks loop -->
<{foreach item=block from=$xoops_ccblocks}>
<{include file="default/theme_blockcenter_c.html"}>
<{/foreach}>
<!-- End center-center blocks loop -->

  :
  :

<!-- End center-right blocks loop -->
</td>
</tr>
----------

変更後
----------
<!-- Start center-center-up blocks loop -->
<{foreach item=block from=$xoops_ccblocks}>
<{if $block.weight < 10 }>
<{include file="default/theme_blockcenter_c.html"}>
<{/if}>
<{/foreach}>
<!-- End center-center-up blocks loop -->

  :
  :

<!-- End center-right blocks loop -->
</td>
</tr>

<tr>
<td id="centerCcolumn" colspan="2">
<!-- Start center-center-down blocks loop -->
<{foreach item=block from=$xoops_ccblocks}>
<{if $block.weight >= 10 }>
<{include file="default/theme_blockcenter_c.html"}>
<{/if}>
<{/foreach}>
<!-- End center-center-down blocks loop -->

</td>
</tr>
----------


３．W3C Validation に合格するようにした


● 同封したファイル
html/header.php
html/themes/default_k/  テンプレート


● 参考
Topページで中央ブロックの表示順を変えたい
http://jp.xoops.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=3656&forum=18


