![]() |
Geeklogドキュメント HOME - Geeklog 静的ページプラグイン |
静的ページプラグインは当初は(Geeklogで生成される動的なページとは逆に)静的な内容のページを作成するためのものでしたので「静的」という名称になっています。「自己紹介」のようなページ、サイトの目的などとったページが思い浮かぶでしょう。
次第に全ての種類の目的で使われるようになり、PHPプログラムを組み込んだりして、当初の名称は今では必ずしも正確ではなくなっています。
このプラグインはTony Bibbsが最初作成し、Geeklog 1.3.5からプリインストールプラグインとして同梱されています。Phill Gillespieが拡張版を手がけ、Tom Willetが引き継いでいます。拡張版ではじめてPHPが静的ページで使えるようになり、Geeklogで一般的な権限設定も使えるようになりました。
Geeklog 1.3.8とStatic Pages 1.3で2つが再マージされました。Static Pages 1.3は以前のバージョンには見られない新しい特徴がいくつかあります。
重要:セキュリティ上の理由で静的ページへのPHPスクリプトの組み込みはデフォルトでは無効になっています。これを有効にするには"Static Page Admin"に対して"staticpages.PHP"権限を与える必要があります。この権限を与えるにはAdminでログインしてAdmins Onlyブロックで「グループ」を選びます。"Static Page Admin"グループを探してその「編集」をクリックします。開かれたページの最後にこのグループの全メンバーに与えられる「権限」の設定項目リストがあります。'staticpages.delete' と'staticpages.edit'はすでにチェックされていて'staticpages.PHP'はチェックされていないのを確認します。Static Page Adminグループのメンバーが静的ページでPHPを利用できるようにするには'staticpages.PHP'をチェックして変更を保存してください。
上述の'staticpages.PHP'権限設定に加えて、
全ての静的ページでPHPの利用を無効にするグローバルフラグの
$_SP_CONF['allow_php']もあります。このフラグを0に設定すると
'staticpages.PHP'で設定した権限がオーバーライドされ静的ページでの全てのPHP利用が無効になります。このフラグはplugin/staticpagesディレクトリにある静的ページのconfig.phpファイルに記述されています。
PHPの静的ページでの利用は適切に利用されないとセキュリティ問題を引き起こす可能性があります。この機能は注意してお使いください!
PHPの利用は各ページごとに有効にする必要があります。内容編集フィールドの下に次のようなオプションをもつドロップダウンメニューがあります。
- PHPを実行しない
- PHPを実行しない
このオプションを選んだ場合は当然ですが静的ページ内のどのPHPコードも実行されずにコードのまま表示されてしまいます。- PHPを実行する(return)
- PHPを実行する(return)
このオプションを選んだ場合、静的ページ内のPHPコードは実行されます。"return"が意味するのは、直接表示させるのではなく、PHPのreturn命令を使って、PHPの生成する全ての出力を返すコードでなければならないということです。このオプションはStatic Pageプラグイン1.3から導入されました。
- PHPを実行する
- PHPを実行する
このオプションもまたPHPコードの実行を有効にします。この場合はPHPコードはページレイアウトを邪魔しないように、echo、print命令を使って内容を表示します。
PHPコードを静的ページに組み込む場合、PHPの
<?php
と?> タグで囲んではいけません。
2番目の実行オプション(PHPの実行)を選択した場合は次のように、PHPとHTMLの間を行き来します。:
echo "Hello"; ?>, <b>world</b>, <?php echo "how are you?";
上記の例は"Hello, world, how are you?"を表示します。
静的ページを新規作成する時に、ページIDが自動的に割り当てられます。このIDは日時と3桁のランダムな数字から成り立っています。このURLがメールで引用されるなどで何度も使われるようだと思われる時には、ページにわかりやすいIDを使うほうが納得できるでしょう。
静的ページのエディタでページIDを変更することができます。例えば、"about"ページのIDを"20030313100131123"から"about"にして
http://yoursite/staticpages/index.php?page=about
といった引用された時には、一層わかりやすく見える(覚えやすい)URLを生成します。GeeklogのURLリライト機能を使いこなすことでさらに進んだ使い方ができるでしょう。
ページIDには英数字しか使用できない点に注意してください。各国の特殊文字やほとんどの記号("-"、”."はOKです)、空白も利用できません。静的ページエディタは使用不可の文字をチェックしますが、完全ではありません。
Geeklog 1.3.8 でセンターブロックというプラグイン利用に関する概念が導入されました。基本的には、このことで、どんなプラグインでもGeeklogのサイトのセンターエリア(例えば、記事の間)にブロックを置くことができます。
静的ページの「センターブロック」オプションをチェックすると、どこに静的ページを表示させるかを選択するために「表示場所」と「話題」のドロップダウン選択肢を利用できます。「表示場所」では「ページの最上部」、「注目記事の下」、「ページの下」(ここまでは意味はすぐわかりますね)、「ページ全体」が選択肢になります。最後の「ページ全体」はGeeklogにこの静的ページがindexページ全体を置き換えてしまうように指示します。Geeklogはどの記事も表示せずに、この静的ページのみを表示します。このオプションは"splash"スクリーンやウェルカムページを作成するのに便利です。
チップス:"splash"スクリーンとして静的ページを利用するには、通常のindexページ(たとえば現在の記事一覧)にユーザーを導くリンクが必要になります。
そのためのリンクとして
index.php?display=allを使います。
2番目の「話題」は静的ページを表示する「ホームページのみ」、「すべて」(全ての話題ページとホームページ)、「ギークログ」、「ギークログニュース」が選択できます。このオプションはブロックに対するオプションと同じです。
チップス:このオプションと権限設定を組み合わせることができます。これを使うと例えば、ゲストにのみ表示させるwelcomeページを作成することができます。
ソート
センターブロック:同じセクションの中央部に現れる静的ページが複数ある場合には(例えばindexページの最初に表示される2つの静的ページがある場合)、表示される順番をプラグインのconfig.phpファイルの
$_SP_CONF['sort_by']で指定できます。設定値はid(ページID順)、date(最終更新日順)、title(ページタイトル順)が選べます。デフォルトはページID順のソートです。
メニューエントリー:(header.thtmlに{plg_menu_elements}変数を使用しているテーマを利用していれば)サイトメニューに表示される静的ページをソートすることができます。
config.phpファイルの$_SP_CONF['sort_menu_by']
変数をid(ページID順)、date(最終更新日順)、 label(メニューラベル順), title(ページタイトル順)のどれかに設定します。
静的ページエディタの「ページをブロックで囲む」をチェックすることで、静的ページをGeeklogブロックで囲むことができます。設定されればページタイトルがブロックタイトルとして利用されます。
プラグインのconfig.phpファイルには
$_SP_CONF['in_block']フラグがあり、このオプションのデフォルトとして使われています。
同じような静的ページがいくつもあれば、既存のページを複製してそれを編集したいと思うでしょう。これは静的ページのリストで[c]をクリックすれば簡単にできます。クリックすると新しいページIDをもったコピーが作成されます。
この機能は実験的なものでIISサーバでは動作していない点に注意してください。
GeeklogはURLをサーチエンジンに適した形式に変更するなどの目的でURLリライトをサポートします。例えば
http://yoursite/staticpages/index.php?page=20030313100131123
よりも、次のようなURLでアクセスできるようにします。
http://yoursite/staticpages/index.php/20030313100131123
いくつかのサーチエンジンではURLが"?"や"="などの文字を含んでいた場合、ページをインデックスに取り込まないことが知られています。さらにページIDをnumeric page IDに置き換えたURLのように単語や句で置き換えるとインデックスされるチャンスが広がります(ページの内容に関連したものが好ましい)
http://yoursite/staticpages/index.php/about
URLリライトを利用するにはGeeklogのconfig.phpに次の設定を行って機能を有効にしておきます。
$_CONF['url_rewrite'] = true;
静的ページプラグインは現在のところこの機能をサポートする唯一のプラグインです。
The Static Pages plugin is currently the only plugin known to make use of this feature.
Geeklogの他の全てのオブジェクトのように静的ページにも所有者があります(静的ページを作成したユーザ)。何かの理由でそのユーザのアカウントが削除された場合に、そのユーザが作成した静的ページを同様に削除するか、またはそのページの所有者をGeeklogのRootグループの誰かに割り当てることができます。Static Pagesプラグインのconfig.phpには次のオプションがあります。
option:
$_SP_CONF['delete_pages'] = 0;
0(デフォルト)に設定されると、所有者が削除されてもページは削除されずにRootグループのメンバー(ユーザIDがもっとも小さいユーザ、Adminの可能性が高い)に割り当てられます。この設定を1に変更すると所有者のアカウントが削除された場合にページが削除されます。
Geeklog ドキュメントプロジェクト このページの全ての商標と著作権は、彼らのそれぞれの所有者によって所有される。 GeekLogは、コピーレフトです。 |