[[../]] **印刷用表示対応スキン Part2 -- [[reimy]] [#v60daa19] ***内容 [#n7fa7abf] -印刷用専用CSSで好きな部分を非表示に -メニューバーを非表示に :補足| ~なお、今回はページをメールで送信する際にHTML 4.01に変更する機能は入れていません。あまり汎用性があるとは思えないので。必要な人は[[./印刷用表示対応スキン]]のほうを参照してください。 ***利点 [#a0896931] -スキンだけで実現しているので、PukiWikiのモジュールを改造する必要がない。PukiWIkiのバージョンアップにも楽珍。 ***使い方 [#q4c4af20] たとえば、 http://hoge.net/pukiwiki.php?HogeHoge のページを印刷用表示にする場合 -URLを手入力する場合や他サイトから直リンクする場合は、 http://hoge.net/pukiwiki.php?cmd=read&page=HogeHoge&prn=on -印刷用メニューをクリック ←こっちがおすすめ ***注意 [#k9deae67] -印刷用表示を実行したあと、印刷実行後にメニューの「リロード」をクリックするか、他のページに移動すれば、通常表示に戻る。 ***ダウンロード [#v9e6b554] -&ref(pukiwiki.skin.ja.php); -&ref(print.ja.css); ***デフォルトスキンとの差分 [#zdec601d] --- pukiwiki.skin.ja.php.org Thu Jun 5 06:45:58 2003 +++ pukiwiki.skin.ja.php Thu Jun 5 07:09:52 2003 @@ -18,7 +18,11 @@ <?php } ?> <title><?php echo "$title - $page_title" ?></title> +<?php if ($vars['prn'] == "") { ?> <link rel="stylesheet" href="skin/default.ja.css" type="text/css" media="screen" charset="Shift_JIS" /> +<?php } else { ?> + <link rel="stylesheet" href="skin/print.ja.css" type="text/css" media="screen,print" charset="Shift_JIS" /> +<?php } ?> <?php echo $head_tag ?> </head> <body> @@ -41,6 +45,9 @@ [ <a href="<?php echo "$script?plugin=newpage&refer=$r_page" ?>">新規</a> | <a href="<?php echo $link_edit ?>">編集</a> +<?php if ($vars['prn'] == "") { ?> + | <a href="<?php echo "$script?cmd=read&page=$r_page&prn=on" ?>">印刷用</a> +<?php } ?> <?php if ($is_read and $function_freeze) { ?> <?php if ($is_freeze) { ?> @@ -79,8 +86,8 @@ <?php echo $hr ?> </div> - -<?php if (arg_check('read') and is_page('MenuBar')) { ?> +<?php if ($vars['prn'] == '') { ?> +<?php if (arg_check('read') and is_page('MenuBar')) { ?> <table border="0" width="100%"> <tr><td valign="top" style="width:120px;word-break:break-all;padding:4px;"> <div id="menubar"><?php echo preg_replace('/<ul[^>]*>/','<ul>',convert_html(get_source('MenuBar'))) ?></div> @@ -88,11 +95,13 @@ <div><?php echo $body ?></div> </td></tr> </table> +<?php } else { ?> +<div id="body"><?php echo $body ?></div> +<?php } ?> <?php } else { ?> <div id="body"><?php echo $body ?></div> <?php } ?> - <?php if ($notes) { ?> <div id="note"> <?php echo $notes ?> @@ -117,6 +126,9 @@ <a href="<?php echo $script ?>?plugin=newpage"><img src="./image/new.png" width="20" height="20" alt="新規" /></a> <a href="<?php echo $link_edit ?>"><img src="./image/edit.png" width="20" height="20" alt="編集" /></a> +<?php if ($vars['prn'] == "") { ?> + <a href="<?php echo "$script?cmd=read&page=$r_page&prn=on" ?>"><img src="./image/print.png" width="20" height="20" alt="印刷用" title="印刷用" /></a> +<?php } ?> <a href="<?php echo $link_diff ?>"><img src="./image/diff.png" width="20" height="20" alt="差分" /></a> <?php if ((bool)ini_get('file_uploads')) { ?> <a href="<?php echo $link_upload ?>"><img src="./image/file.png" width="20" height="20" alt="添付" /></a> ***印刷用CSS [#v545d994] -print.ja.css @charset "Shift_JIS"; @import url("default.ja.css"); ~これだけでも画面左のメニューバーは表示されないが、このあとに表示したくないブロックのclassにdisplay:none;を設定していけばよい。 ~たとえば、フッターを表示したくなければ、 .footer{ display:none; } ~関連ページへのリンクを表示したくなければ、 .related{ display:none; } ~更新日時を表示したくなければ .lastmodified{ display:none; } ~アイコンメニューを表示したくなければ .toolbar{ display:none; } ~ヘッダを表示したくなければ .header{ display:none; } ~メニューを表示したくなければ .navigator{ dispaly:none; } ~というように追加する。 ~なお、メニュー、アイコンメニューの両方を表示しないようにすると、元の表示に戻るには、ブラウザの「戻る」で戻るしかなくなるので注意。 ***おまけ [#vd7a912e] ~印刷時にcomment.inc.phpのフォームを表示したくない場合は、comment.inc.phpのフォームの<div>を<div class="comment_form">に書き換えて、print.ja.cssに .comment_form{ display:none; } ~を追加すればよい。同様にarticle.inc.phpやvote.inc.phpなどでも可能。 ***サンプル [#n7d59ea7] ~[[れいみぃ:FrontPage]]で実装してます。