スタッフブログ

  • 最新配信
  • RSS

XOOPSお手軽(?)プリントアウト対応

Ryuji : XOOPS » TIPS小ネタ 2009/3/18 22:07

Blogger's Avatar

XOOPSのニュースモジュールには印刷用ページを表示する機能がありますが、多くのモジュールは印刷用ページというのをもっていません。

そんな印刷用ページをもっていないモジュールでも印刷用に余計なブロックやヘッダを排除してプリントアウトできるように、ちょっとテーマをいじる方法をご紹介します。



こちらは、RYUSの社内情報共有用のXOOPSサイトです。
今このxpWikiのページを印刷すると次のように印刷されるようにしています。



利用したのは、印刷用のスタイルシートを読み込む仕組みです。

theme.htmlのhead部分に次のような行を追加しています。
<link rel="stylesheet" type="text/css" media="print"
 href="<{$xoops_url}>/themes/trump_color3/print.css" />
media="print"としておくと印刷時に指定されたスタイルシートファイルが読み込まれるようになります。
ここで読み込まれるprint.cssには、次のようにヘッダ、フッタやブロックを非表示にするように指定しています。
div#header{
    display:none;
}
#leftcolumn{
    display:none;
}
#centerBlock{
    display:none;
}
#rightcolumn{
    display:none;
}
#footerbar{
    display:none;
}
各ブロックにどんなidが割り振られているかは、テーマによって違いますので、利用されるテーマにあわせてくださいね。

で、さらにwpWikiもそうですが、モジュール内にも新規登録や編集のためのリンクなどがありますので、それらも印刷時には非表示になるように追記します。
/*xpWiki*/
.footer{
    display:none;
}
.counter{
        display:none;
}
.toolbar{
        display:none;
}
.navigator_page{
        display:none;
}

ここもモジュールに合わせて指定しましょう。
非表示にしたい箇所にid指定もclass指定も無い場合がありますが、その場合はそのモジュールのテンプレートを修正して対応します。

テンプレートまで手を入れだすと利用するモジュールが多い場合は結構大変かもしれませんが、テーマへの修正だけでもしておくと、ちょっと印刷して見たいなぁというときには重宝すると思います。

トラックバック

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.