Actions

Mahara日本語ドキュメント/カスタマイズ/テーマ/1.1から1.2へテーマを移行する

From Mahara Wiki

< Mahara日本語ドキュメント‎ | カスタマイズ‎ | テーマ

将来的なテーマのメンテナンスをさらに簡単にするよう、私たちは、デフォルトテンプレート、クラス、ID、イメージ、ファイル名およびスタイルシートのロケーションに関して、数多くの修正を施しました。

Mahara 1.1のために書かれたカスタムテーマは、1.2では動作しそうにありません。あなたが、カスタムテーマを適用したサイトを1.1から1.2へのアップグレードを計画している場合、そして、アップグレード後も、あなたのカスタムテーマを保持したいと考える場合、あなたのテーマの更新およびテストをMahara 1.2で実施するため、少しばかりの時間 (少なくとも数時間) を費やす必要があります。理想的には、あなたが1.2にアップグレードしたサイトのコピーを移行作業に使用すべきですが、テストのため、あなたのテーマをZIP圧縮して、新しい1.2サイトにて解凍することも可能です。

まず、1.2テーマに関するドキュメントを読んでください。そして、Mahara 1.2に同梱されているテーマのコンテンツを確認してください。

最も明らかな変更内容は、下記のとおりです:

設定ファイル

theme//config.phpからtheme//themeconfig.phpに、ファイル名が変更されました。

テーマ名では、$theme->nameよりも、$theme->displaynameが使われるようになりました。

親テーマとして、あなたのテーマが「default」を使用している場合、「raw」への変更を考慮してください。Mahara 1.2のrawテーマには、すべての重要なレイアウトルールが含まれています。ですから、恐らく、あなたのテーマは、少しのスタイルシートをオーバーライドするだけで使用できるようになると考えられます。一方、あなたのテーマが古いデフォルトテーマに極めて類似している場合、また、あなたがすぐにテーマを動作するようにしたい場合、親テーマを「default」のままにすることで、簡単に移行することができます。

テンプレート

Mahara 1.2には、デフォルトテーマがありません! デフォルトはrawテーマを継承して、rawテーマでは、1.1のデフォルトテーマのテンプレートすべてを含みます。しかし、明らかに同じテンプレートという訳ではありません - スタイルシートのサイズを減らすため、それらのテンプレートには、修正されたクラスおよびIDが含まれます。また、1.2のすべての新しい機能に適合するため、他の多くの部分が変更されています。

あなたのテーマがテンプレートをオーバーライドする場合、(diffコマンドを使用して、) 古いMahara 1.1のデフォルトテンプレートの違いを、あなたのテーマの1.1テンプレートに取り入れることは有用でしょう。そして、それぞれのファイルの違いを調査して、対応する1.2のrawテーマを探した後、あなたの変更点をrawテンプレートの新しいコピーに再適用することができます。

スタイルシート

1.2では、メインのスタイルシートから多くのルールが、個別のプラグインまたはサイトセクションに対応する小さなスタイルシートへと移動されました。メインスタイルシートの名称は、現在もsyle.cssとなっています。管理セクションのみに使用されるルールは、現在admin.cssとなっています。また、ビュー編集およびページの表示には、view.cssが使用されます。しばしば、プラグインでは、artefact/blog/theme/raw/static/style/style.css、interaction/forum/theme/raw/static/style/style.cssのようなファイルに独自のルールを指定する場合もあります。これらの追加的なスタイルシートで、あなたのテーマにルールをオーバーライドさせたい場合、新しいcssを作成して、そのファイルの中でルールをオーバーライドしてください。

古いデフォルトスタイルシートで使用された多くのIDおよびクラスは、その名称を変更されました。1.1の古いセレクタの一部および1.2に対する該当リストは以下のとおりです:

1.1                     1.2

 #topwrapper             #top-wrapper
 #loading_box            #loading-box
 #logo                   #site-logo

 #mainnav                #main-nav
 #subnav                 #sub-nav

 #mainwrapper            #main-wrapper

 #column-left            #main-column, .main-column
 #column-full            #main-column, .main-column
 .maincontent            #main-column-container

 .profile-tabs           .in-page-tabs
 #grouppage-tabs         .in-page-tabs
 .profile-fieldsets      .subpage
 #grouppage-container    .subpage
 #group-info             .group-info

 #column-right           #right-column, .sidebar
 #sb_profile             #sb-profile, .sideblock
 #sb_onlineusers         #sb-onlineusers, .sideblock

 #footerwrap             #footer-wrap
 #footer                 -


あなたのスタイルシートに関して、上記変更内容を検索および置換することがスターティングポイントとなりますが、あなたのテーマの見栄えを良くするには、十分ではありません。

イメージ

いくつかのイメージでは、デフォルトロケーションが変更されました。例えば、「raw」 (およびインストール済み) テーマのlogo.gifは、site-logo.pngに変更されました。あなたのテーマが独自のヘッダテンプレートを持っていない場合、ヘッダイメージをsite-logo.pngに変更するか、ヘッダテンプレートをオーバーライドする必要があります。

スタイルシート内のイメージへの参照は、正しい親テーマイメージを使用して、更新されるべきです (例えば、テーマの親がdefaultからrawに変更された場合、また、子テーマのstatic/imagesディレクトリに、そのバージョンのイメージがない場合)。例えば、次のようになります:

    background: url(../../../raw/static/images/btn_search_off.gif) no-repeat;

あなたのテーマが、親テーマでは使用していないイメージを使用する必要がある場合、または異なるイメージを使いたい場合のみ、この変更が必要です。