Notice: Undefined index: version in /var/www/html/net-mon-star.com/Diamond/templates/nms_pottery_white2/index.php on line 45
net-mon-star.com
HOME[h]

RSS配信

このページの検証1

W3Cxhtml
W3Ccss
lint

MODx試験運転中

modxmono

統計

訪問者: 137509

誰がいますか

design by net-mon-star.com
6-6:プリント用CSS指定とprintアイコン表示のプチ・ハック PDF プリント
2007/04/12 木曜日 22:44:26 JST

Joomla1_0_12JPアップデートにともない、グローバル・コンフィグレーション:コンテンツパネルでPDFアイコン表示とプリントアイコン表示をONしてみました。
PDFアイコン表示は、もちろんアイコンだけを表示する物ではなく、アイコンをクリックしたらそのページのコンテンツをPDFに変換して別ウインドウに表示する機能を提供してくれます。
以前のバージョンからありましたが、私の環境では文字化けがあって、ずっとOFFにしていました。
プリントアイコン表示も、同様にページコンテンツだけをプリントに最適な状態に変換して、そのプレビューを別ウインドウで表示し、ふたたびアイコンをクリックする事で印刷を開始するすぐれた機能ですが、プリント用CSSの指定がわからず、OFFにしていました。が、

今回、PDFは、ほぼ変換されるので使って見ることにしました。
そして、プリント用CSSの問題は偶然、Joomla本家サイトで「解決記事」を読んだので、これを試した次第です。しかし自作テンプレートではアイコン表示に問題がでたので、これを修整しました。
また、プログラムで生成されるHTMLコードが私的にはプチハックの対象になるものだったので、改造してしまいました。
このページではプリント周りのプチハックをご紹介します。

■スマートなプリント用CSSの指定法は、下記本家フォーラム記事を参照の事。
本家Joomla!サイト:フォーラム:一般的な質問:Print Page / Email Page - different 'template'
http://forum.joomla.org/index.php/topic,134845.0.html

■私的な問題の解決法

1:インストされているプリントアイコン画像が気に入らない。  --> すみやかに画像作成後上書き。

通常初期段階

2:プリントアイコンのTDタグ境界に隙間が発生し、異なる背景色が見えるため、それが境界線として見えてしまう。
<td  class="buttonheading">に背景色(白)を指定すると下記画像のような隙間が発生。 

隙間発生

 一応、あれこれと試してみるが、CSSでは解決せず、かといって、自作テンプレートを修整する気力もなし…。
で、てっとりばやくTDの元のTABLEの背景色を白にして、隙間を目立たせないようにすればいいと気づくが、
<table class="contentpaneopen">は、タイトルだけではなく、記事の文章部分と共通したテーブル・クラスなので
ここの背景色も白になってしまい、困った状態に。
そこで、components/com_content/content.html.php にてクラス名を直接変更しました。

457行目付近(色々いじっているので行数がオリジナルと異なるかも)
 <table class="contentpaneopentitle<?php echo $params->get( 'pageclass_sfx' ); ?>" summary="layout-table">

で、あらたにCSSファイルでtable.contentpaneopentitleで背景色を白にして、解決。
めでたし、めでたし。

解決した状態

Joomla!-W3C-Valid-XHTML-Petit-Hacks ::: 06

■私的な問題の解決法:プリントアイコン表示のHTMLコード改造
かたぎの人達には、この記事は関係ありません。Another HTML-lintの呪いを真に受けた人々のために書いてます。ちょっぴりW3CのHTML検証を気にする人にも関係します。
このプチ・ハックは下記のようにHTMLコードを生成します。 

●通常
<td  class="buttonheading">
<a xhref="http://xxxx/index2.php?option=com_content&task=view&id=22&pop=1
&page=0&Itemid=2" target="_blank" onclick="window.open('http://xxxxx/index2.php?option=com_content&task=view&id=22&pop=1
&page=0&Itemid=2','win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,
resizable=yes,width=640,height=480,directories=no,location=no'); return false;" title="プリント">
                        <img xsrc="http://xxxx/images/M_images/printButton.png"  alt="プリント" name="プリント" align="middle" border="0" /></a></td>
●改造後
<td  class="buttonheading">
<a xhref="http://xxxx/index2.php?option=com_content&task=view&id=22&pop=1
&page=0&Itemid=2" target="_blank" onclick="window.open('http://xxxxx/index2.php?option=com_content&task=view&id=22&pop=1
&page=0&Itemid=2','win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,
resizable=yes,width=640,height=480,directories=no,location=no'); return false;" title="プリント">
                        <img xsrc="http://xxxx/images/M_images/printButton.png"  alt="プリント" name="print" id="print" width="16" height="16"  /></a></td>

ここでは、プリントアイコン表示部を説明していますが、ややこしい事にプリントアイコンは、「joomla.php」で。
PDFとeメールアイコンは、「content.html.php」で生成されます。
(このプチ・ハックは「6-4: mod_rssfeed.php, joomla.phpを改造」を完了された状態を前提しています。)

includes/joomla.php  2244行目付近
$image = mosAdminMenus::ImageCheck( 'printButton.png', '/images/M_images/', NULL, NULL, _CMN_PRINT, _CMN_PRINT );


下記に変更

$image = mosAdminMenus::ImageCheck( 'printButton.png', '/images/M_images/', NULL, NULL, _CMN_PRINT, 'print', 'print',  '16',  '16'); 

 

最終更新日 ( 2007/04/13 金曜日 01:14:53 JST )

wide-frame
txtsize x1.2
txtsize x1.4
wideframe-txtsize x1.2
bigframe-txtsize x1.4
Go to pagetop