カスタマイズ方法
提供: GeeklogJpWiki
[5]カスタマイズ >はじめてのGeeklogカスタマイズ
目次 |
はじめてのGeeklog
Geeklogのトップページは以下のような画面設計になっています。
ホームページの運営がはじめての場合には、できるだけ簡単に運営できるよう、あらかじめ便利なプラグインを設置しましょう。まず、以下の順番で簡単にカスタマイズできます。
「コンフィギュレーションエディタプラグイン」
グローバルナビゲーション(ヘッダメニュー)を自由にカスタマイズする場合は,カスタムメニュープラグイン(custommenu)またはナビゲーションプラグイン(navman)(高機能 1.6.0対応)をインストールしてご利用ください。
Geeklogの基本機能としては,コンフィギュレーションエディタを使います。元からあるメニューだけではなく、静的ページのコンテンツも表示したいのであれば、プラグインメニューの表示にもチェックします。これでテンプレートを変更することなく、静的ページもグローバルナビゲーション(ヘッダメニュー)にメニュー登録したいものだけメニューに登録できます。さらに詳しくは,グローバルナビゲーションのカスタマイズを。
記事や静的ページを編集しやすくするため、「アドバンストエディタ」を使うモードに変更しましょう。
コンフィギュレーションエディタでは、記事で表示される日付の書式変更など、細かな設定を変更できます。
「URLリライト」はSEOに大変有効です。「URLリライト」を有効にして、グーグル等検索エンジンに多くのサイトが登録されるようにします。「URLリライト」がサーバによっては機能しません。記事へのリンクがエラーになるのなら、URLリライトが利用できません。設置者に相談しましょう。
Geeklog1.4.0のバージョンを利用している場合の注意:SAKURA Internet等CGI版PHPを利用しているサーバでは、「system/classes/url.class.php」をGeeklog1.4.1のバージョンのものに差し替え、php.iniに「cgi.fix_pathinfo=1」の一行を追加してください。
「テーマエディタ」
デザインを変更したい場合には、テーマエディタを利用します。ヘッダテンプレート「header.thtml」の、ロゴのGIF部分を変更します。(標準提供テーマでは、デフォルトで必要なファイルは編集できる設定になっていますが、その他の個々に開発されたテーマの場合には、管理者メニューのコンフィギュレーションで編集してください。)
ロゴを変更する方法
ProfessionalCSS Ver1.0以後は,header.thtml を修正するだけとなりました。
<h1 class="site_name"><a href="{site_url}"><img src="{layout_url}/images/logo.gif" width="157" height="56" alt="{site_name}"></a></h1>
ロゴなどカスタマイズのための画像は/layout/テーマ/images/または/layout/テーマ/images/custom/にアップロードして利用してください。
「メール記事投稿」
投稿者別に話題を初期設定して記事を投稿したり、携帯からも写真付きでメール投稿できるなど、大変便利です。
「サイトマップメニュー表示PHPブロック」
記事カテゴリ毎に、そのカテゴリの記事が時系列に表示されますが、はじめてのブログCMS運営の場合、記事カテゴリ形式でメニューらしきものが表示されているのは違和感があるかもしれません。
そのような場合には、カテゴリ名と個々の記事がメニューとなって自動的に表示される、サイトマップ型のメニューをあらかじめ設置しておきます。ブロックを新規作成して、PHPブロックモードにして、関数phpblock_sitemapmenuを指定するだけです。
ただし、記事が大変多くなっていく場合には、メニューが自動的に長く伸びてしまうことになるので、ページ数が数十ページでおさまる程度の場合にのみ利用できますが、運営初期の場合にはこの状態で様子をみて、時期をみて本格的にHTMLでメニューを作成する方法もあります。HTMLでメニューを作成する場合は、ブロックをノーマルモードで作成し、HTMLでメニューを記述します。
「記事と静的ページ」
コンテンツを記事で書くべきか、静的ページで書くべきかを迷うかもしれません。 GeeklogはブログCMSですので、本来記事がGeeklogのメイン機能です。できるだけ記事でコンテンツを書きましょう。記事用の細かな表示が不要なら、コンフィギュレーションエディタで記事の表示内容を調整したり、テーマエディタで、通常記事や注目記事のテンプレート「storytext.thtml」「featurestorytext.thtml」を編集して表示内容を調整します。個別の記事の表示のテンプレートは「article/article.thtml」です。テーマエディタでは、テンプレートをいつでも初期状態に戻すことができます。
会社概要やプライバシーポリシー等、時系列である必要がないページは、静的ページで記述すると良いでしょう。静的ページは、上述のように、簡単にグローバルナビゲーション(ヘッダメニュー)に登録できます。
記事や静的ページ,そしてブロックでは,便利な自動タグを利用できます。
「トップページデザイン」
トップページにのみ、装飾的にFLASHコンテンツを置きたいのであれば静的ページを利用します。「センターブロック表示」にチェックし、表示場所を(ページの最上部、注目記事の下、ページの下、ページ全体)から選びます。「話題」は、(すべて、ホームページのみ、各話題・・・)の中の、「ホームページのみ」を選びます。これでホームページのデザインを追加できます。
「話題(記事カテゴリ)別のページデザイン」
話題とは、記事カテゴリのことです。各話題のページ別にデザインを変えたい場合があるかもしれません。そのような場合にも、静的ページを利用するとよいでしょう。「話題」は、(すべて、ホームページのみ、各話題・・・)の中の、各話題のタイトルを選びます。これで各話題別のページデザインを追加できます。
開発者向けカスタマイズ方法
コンフィギュレーション
システムをカスタマイズ、拡張したい場合には、まず、コンフィグレーションエディタで設定変更できるかどうか確認してください。より細かい設定変更は、Geeklog1.4 日本語版最新config.phpを直接編集します。
参照:
- [2] インストール > 4.コンフィギュレーション > Geeklog1.4.1 日本語版config.php
- [3] 管理者運用方法 > コンフィグレーションエディタ
言語ファイル
表示する言語を細かく修正したい場合には、言語ファイル(UTF-8ならlanguage/japanese_utf-8.php、EUCならlanguage/japanese.php)を修正します。
ユーザがアカウント登録したときに送られるGeeklogサイトからのユーザ登録メールのカスタマイズは、welcome_email.txtを作成して/path/to/geeklog/data ディレクトリに置きます。
参照:
- ユーザ新規登録時にウェルカムメール(Welcome mail)ファイルを作成して変更する方法
- [6] 開発者用ドキュメント > 言語ファイルの作成方法 > 日本語utf-8版言語ファイル1.4.0版
- [6] 開発者用ドキュメント > 言語ファイルの作成方法 > 日本語utf-8版言語ファイル1.4.1版
テーマ
各テーマのテンプレートを変更したい場合にはテーマエディタで、変更します。
参照:
- [3] 管理者運用方法 > 設定 > テーマ > テーマエディタ
PHPブロック
PHPブロックで利用できるphpblock_ではじまる関数は多数提供されています。テーマテスター等、Geeklog Japaneseでも提供されています。
参照:
- [3]運用方法 > 1.設定 > 2.ブロック
静的ページPHP
静的ページPHPを利用して機能を追加することもできます。問合せフォームページ、見積もり、簡易ショッピングカートプログラム等が、Geeklog Japaneseでも提供されています。
カスタム関数
また、Geeklogのカスタム関数lib_custom.phpでも機能を拡張できます。Geeklogでは、標準で各種のカスタム関数を提供しています。それぞれデフォルトではコメントアウトされているので、必要なカスタム関数をセットしてください。
- [6] 開発者用ドキュメント カスタム関数lib_custom.phpを参照
関数は、ダウンロードサイトからダウンロードすることができます。
プラグイン
大きな機能拡張は、プラグイン機能で拡張します。
ハック
表示に関わる小さな修正は、言語ファイルやテンプレートファイルで行うことのできないプログラムに関係する場合には、多くの場合、lib-common.phpをハックするとよいでしょう。lib-common.phpは、表示の際に、すべてのプログラムから呼ばれている核になるソースファイルです。記事の表示に関しては、多くの場合、system/lib-story.phpをハックすると良いでしょう。
ただし、機能拡張はカスタム関数で用意されているので、セキュリティメンテナンスやバージョンアプメンテナンスのためにもできるだけ カスタム関数で機能拡張するように心がけてください。
修正したらその修正ソースに対するドキュメントをadd_to_修正ソース.phpの名前でサーバの同じディレクトリに置くと、メンテナンスの際に便利でしょう。
