>ホーム [1] >KeyNavi [3] >Zopeでの活用 [Shift-D] >プロダクトの概要 サイト情報 資料請求・お問合せ
     ホーム [1]       新着情報 [2]       KeyNavi [3]       技術紹介 [4]       FAQ [5]       サイトマップ [6]     
   

KeyNaviプロダクトの概要

− KeyNaviプロダクトの各構成ファイルなど中身を説明

  KeyNaviプロダクトの仕組み

管理画面は動的に作成される3つのフレーム(Top/Menu/Main)で構成されています。 基本的に Topフレームは 「(Zopeパス)/ lib/python/App/dtml/」以下の「manage_top_frame.dtml」 を参照。 一方 Menu,Mainフレームは「manage_page_header.dtml」を参照します。 これらの代わりに KeyNavi用タグを追加した同内容のファイルを使用します。

【各DTML,TemplateにKeyNavi用タグを追加】

<html>
<body>
<!-- DTMLの場合 -->
<script language="javascript"
 src="<dtml-var BASEPATH1>/keynavi_zope.js">
</script>
<script language="javascript"
 src="<dtml-var BASEPATH1>/keynavi_en.js">
</script>

<!-- テンプレートの場合 -->
<script language="javascript" tal:attributes="src
 string:${request/BASEPATH1}/keynavi_zope.js">
</script>
<script language="javascript" tal:attributes="src
 string:${request/BASEPATH1}/keynavi_en.js">
</script>

。。。本文。。。
</body>
</html>

  各構成ファイルの説明

プロダクトに含まれる各ファイルについて説明します。

__init__.py
Zope起動時に実行され 以下の各ファイルのパスをAlias。 他にKeyNaviを使いたいファイルがある場合は該当項目を 追加後 Zopeを再起動して下さい。

Management/ manage_top_frame.dtml/ page_header.dtml
各フレームで参照されるファイルです 「(Zopeパス)/lib/python/App/dtml/」以下のファイルと同じ内容ですが KeyNaviの指定を追加してあります。こちら側がZopeに読み込まれます。

Standard/ standard_header.dtml, standard_template.pt
ZopeデフォルトのTopページ、エラーのページなど 幾つかのページはZopeのRootフォルダ内の 「standard_...」を参照しているためこちらも置き換えています。

files/keynavi_en.js
KeyNaviの本体(JavaScript)です。 各ブラウザで文字化けを避けるため このプロダクトでは無難に英語版を使用。
外部JavaScriptの 文字コードは呼出元のHTMLの文字コードと合わせる必要が有ります。 管理画面が完全にEUCに統一されている場合は EUC版を使用可。

files/keynavi_zope.js
独自にカスタマイズ機能を追加する時はこのファイルに 書き足すとラクです(このときZopeの再起動は不要です)。

Zopeで使いやすいようKeyNaviをカスタマイズ。 「0」で上位ディレクトリへ移動、「Shift-英数字」でリンクフォーカス などショートカットを追加。

また現在Focusしているリンクが見つけやすいよう スタイルシートでFocus時のリンク色を赤にしています。

なお IE6にはフレーム使用&標準モード(CSS)の場合に ページの右側が常に 表示範囲外になるバグがあります(下図参照)。

Windowを最大化しても発生。
IE6の場合にのみ必要なCSS指定を出力しこのバグを回避しています。

説明図:IE6で管理画面を見た場合バグ出現
【Zopeの管理画面をIE6で表示すると右側が表示エリア外に】
→ TextAreaの右スクロールバーが欠ける為 スクロールし難い
(CSSとJavaScriptを組合わせて解決)

  standard_header/template使用時の注意点

上記ファイルを Zopeインストール後の デフォルトの状態ではなくカスタマイズして使っている場合、注意が必要です。

可能な場合は同名ファイルを使わないのをお勧めします。
Rootフォルダ内の同名ファイルの内容は無視されます。 代わりにKeyNaviプロダクトのものが使われます。
新たに上記ファイルと同名のDTML,Templateファイルを作ろうとするとエラー。
エラー例:The id "standard_html_header" is invalid--it is already in use.
但しKeyNaviインストール前に既に存在するものについてはエラーにならず
編集もOK。参照時は普通に「獲得」され使用できる。

これらをカスタマイズして使いたい場合は以下の何れかの方法で対応して下さい。
(Zopeパス)/lib/ python/Products/KeyNavi/Standard/以下の該当ファイルを 直接エディタで編集することにする。
__init__.py [Shift-L] 内で該当する部分「standard_...」を コメントしてZopeを再起動
それらを参照しているZopeエラーページなどでKeyNaviが動作しなくなります。 そのため KeyNavi指定の部分を自分のファイルにコピーしましょう。


 上位ページ[Shift-U] 先頭へ [W or O] 

プロダクトの概要 | インストール [Shift-F] | カスタマイズ [Shift-G]
更に便利に使う [Shift-H] | 一般ページで使う [Shift-I]

KeyNavi使い方 [Shift-A] | KeyNavi対応方法 [Shift-B]
イントラネットでの活用 [Shift-C] | Zopeでの活用 [Shift-D] | 写真なび [Shift-J]