静的ページプラグインは、本来、(Geeklogが作成する動的ページとは対照的に)静的コンテンツを持ったページを作成するためのものでした。そういうわけで「静的」という名前になっています。「このサイトについて」や「目標宣言」などのページが思い浮かぶでしょう。
その時以来、人々は様々な目的で静的ページを使用しています。静的ページにPHPのコードを含めることができるようになっていますので、静的ページという名前はもはやだいぶ不適切なものになっています。
[staticpage:]
と [staticpage_content:]
自動タグを実装重要: セキュリティ上の理由で、静的ページでのPHP使用はデフォルトでは無効になっています。有効にするには、Static Page Adminグループに、 staticpages.PHP
権限を与える必要があります。そのためには、管理者としてログインし、管理者用メニューから「グループ」を選択します。Static Page Adminを見つけて、グループ名の左側にある編集アイコン(ペンの形)をクリックします。ページの下の方に「権限(Rights)」のリストがあり、staticpages.delete
と staticpages.edit
には既にチェックが入っています。Static Page Adminグループに属する人が静的ページでPHPを使えるようにするには、 staticpages.PHP
にチェックを入れてから保存をクリックします。
上述の staticpages.PHP
権限に加えて、静的ページ全体でPHPの使用を無効にするグローバルなオプションもあります。このオプションは「管理者用メニュー - コンフィギュレーション - 静的ページ」の中にある「PHPを許可する」です。「いいえ」にすると、staticpages.PHP
よりも優先され、静的ページの中でPHPを使えなくなります。
静的ページでPHPを不適切に使用すると、セキュリティの問題が発生する可能性があります。注意して使用してください。
静的ページごとにPHPの使用を有効にする必要があります。コンテンツ編集欄の下に、次の選択肢のあるPHPのドロップダウンリストがあります。
echo
文や print
文を使って)直接出力する代わりに return
文で返すことを意味します。これは静的ページプラグイン ver 1.3から導入されたオプションです。echo
文や print
文を使ってページの内容を出力できます。静的ページにPHPのコードを埋め込むときに、PHPの <?php
タグと ?>
タグを記述してはいけません。静的ページに含まれるPHPのコードは、Geeklog側でこれらのタグを付加されて実行されるからです。
上述の「PHPを実行する」(returnなしの方)を選択する場合は、コードの中でPHPとHTMLを次のように行き来することができます。
echo "Hello"; ?>, <b>world</b>, <?php echo "how are you?";
この例では、 "Hello, world, how are you?" と表示されます。
静的ページを新規作成すると、ページIDが自動的に割り当てられます。このIDは日付・時刻と最大3桁のランダムな数字で構成されています。このページのURLを頻繁に使用するつもりなら(Eメールで引用する場合など)、もっと読みやすいページIDにするのは意味のあることでしょう。
「静的ページの編集」では、ページIDを変えることもできます。たとえば、「当サイトに関して」のページのIDを "20030313100131123" から "about" に変えて、次のURLにできます。
http://yoursite/staticpages/index.php?page=about
こちらの方が遙かに引用しやすいし、覚えやすいです。GeeklogのURLリライト機能を活用してさらに改善することもできるでしょう。
ページIDで安全に使える文字はアルファベットと数字だけです。各国固有の文字(ひらがな、カタカナ、漢字など)やほとんどの句読点(とはいえ、'-' と '.' は使えるはず)、スペースは使用しないでください。「静的ページの編集」は一部の不正な文字を検出しますが、全部というわけではありません。
Geeklogのセンターブロックの概念では、プラグインがサイトのセンターエリア(つまり、記事と記事の間)にブロックを出力することを許可しています。
「静的ページの編集」で「センターエリア」にチェックを入れると、静的ページを表示する場所を選択するために、「表示エリア」と「話題」というドロップダウンリストが使えるようになります。「表示エリア」で選べるのは、「ページの最上部」、「注目記事の下」、「ページの下」(この3つは説明不要でしょう)と「ページ全体」です。最後の「ページ全体」とは、この静的ページがインデックスページとして表示される、つまり、通常の記事が一切表示されなくなるということです。サイトの「スプラッシュ画面」や「ようこそ」ページを作成するのに役に立つでしょう。
ヒント: 静的ページをスプラッシュ画面として使用する場合、訪問者を普通のインデックスページへ誘導するリンクが必要になることもあるでしょう。この場合は、静的ページの中に index.php?display=all
というリンクを作成すればよいでしょう。
2番目の「話題」ドロップダウンリストを使うと、静的ページの表示を特定の話題、ホームページ(トップページ)のみ、全ページ(つまり、すべての話題 + ホームページ)に限定できます。これはブロックを表示するオプションと全く同じです。
ヒント: これらのオプションをパーミッションと組み合わせることもできます。たとえば、ゲストユーザにしか表示されない「ようこそ」ページを作成することも可能です。
センターブロックでのソート項目: センターエリアの同一セクション内(たとえば、インデックスページのトップに静的ページを2つ表示する場合)に複数の静的ページを表示させる場合、「管理者用メニュー - コンフィギュレーション - 静的ページ」で表示順を選ぶことができます。選択肢は、次の通りです。
この順序が適用されるのは、センターブロック内の静的ページだけです。センターブロックを出力する他のプラグインはこの順序には含まれません。また、センターブロックは普通のGeeklogのブロックのような外見をしているとは限りません。この目的のためには、下にある「ページをブロックで囲む」を「はい」にします。
メニューでのソート項目: サイトのメニューに表示される静的ページを並べ換えることもできます(header.thtml テンプレートファイル内で、 {plg_menu_elements}
変数を使用している場合)。この項目も「管理者用メニュー - コンフィギュレーション - 静的ページ」で表示順を選ぶことができます。選択肢は、次の通りです。
「静的ページの編集」で「ブロックで囲む」をチェックすると、静的ページをGeeklogのブロックレイアウトで囲むことができます。この場合、静的ページのタイトルがブロックのタイトルとして使用されます。また、普通のブロックと同様にヘルプ表示用のURLを入力することもできます。URLを入力すると、そのURLにリンクするヘルプアイコンが表示されます。
このオプションの初期値は、「管理者用メニュー - コンフィギュレーション - 静的ページ」で設定することができます。
同じような静的ページがたくさんある場合、既存のページをコピーしてから編集したいでしょう。静的ページのリストで、コピー欄のアイコンをクリックすれば簡単にコピーできます。コピーすると新たなページIDがついたページができます。
この機能は実験的なものであり、IISでは動作しないことが知られています。
Geeklogはある種のURL書き換え、つまり、URLの外観を検索エンジンに拾われやすいものにする機能を持っています。たとえば、
http://yoursite/staticpages/index.php?page=20030313100131123
の代わりに、次のような外観にすることができます。
http://yoursite/staticpages/index.php/20030313100131123
検索エンジンの中には、URLに '?' や '=' などの文字が含まれていると、そのページをインデックスに登録しないものがあるということが知られています。これをさらに推し進めて、数字で構成されたページIDを(できれば、ページの内容と関連する)単語や表現に置き換えることで、検索エンジンにさらに登録されやすくすることもできるでしょう。
http://yoursite/staticpages/index.php/about
URL書き換えを行うには、「管理者用メニュー - コンフィギュレーション - Geeklog - サイト」で「URLリライト」を「はい」にする必要があります。
Geeklogのすべてのオブジェクト同様、静的ページには所有者(そのページの作成者)がいます。そのユーザのアカウントが何らかの理由で削除された場合、そのユーザが所有していた静的ページも削除するか、GeeklogのRootグループに属する人に引き継がせることができます。
「管理者用メニュー - コンフィギュレーション - 静的ページ」で「所有者の削除と共に削除する」を「いいえ」(初期値)にすると、所有者が削除されても作成した静的ページは削除されず、Rootグループのメンバ(ユーザIDが最も若い人、つまり、たいていはサイトの管理者)に引き継がれます。「はい」にすると、所有者のアカウントが削除されたとき、作成した静的ページも削除されます。