組み込み設定の方法
Serendipityの設定の際、組み込みオプションを使うかどうかが選択できます。
これは、ブログを独立したウェブページとして使うか、 またはあなたの通常のウェブサイトのメニューのように、ブログを他のコンテンツで包み込みようにするかを決めるものです。
組み込みオプションを有効にする場合は、上手く動くようにするために次のようなことをしなければいけません。
indexFileオプション
この設定オプションを使うには、あなたが使いたいラッパーファイルが準備されている必要があります。
あなたのウェブページに通常使っている「content.php」があるとしましょう。
この「content.php」が内部テンプレート・メニュー構造のようなものとなります。
さて、このファイルをブログに包括させて使いたいとした場合、単純な「content.php」は次のようなものとなります。
<?php $homepage = new Template_Class; $homepage->set_template($_REQUEST['page']); $homepage->output_header(); $homepage->output_content(); $homepage->output_footer(); $homepage->track_statistics(); ?>
これで、あなたの個人ウェブサイトの「about」ページは通常、content.php?page=about と呼ばれることになります。
今、ブログに可変的にセットされるpageがあってそれを表示したいと思います。
このためにはwrapper.phpファイルが必要となります。
<?php $_REQUEST['page'] = 'blog'; // Let serendipity generate our content: ob_start(); require 'index.php'; $blog_data = ob_get_contents(); ob_end_clean(); // Now we include our normal content building file. // This one has to make use of your $blog_data variable to print // the content where appropriate! require 'content.php'; ?>
後はSerendipityのオプションでindexFileの設定をwrapper.phpファイルにします。
プラグイン
serendipity_event_livesearchのようなプラグインは、ブログのヘッダ部分でJavascriptライブラリが呼び出しされますが、組み込みオプションを使う場合、Serendipityはそこまで世話をしてくれないため、自分でそれらのライブラリを呼び出す必要があります。 livesearchプラグインの場合、あなた自身でご自分のカスタムヘッダ内に次の分を挿入する必要があるということです。
<script type="text/javascript" src="/serendipity/plugin/ls-js"></script>
近道
多くのユーザーにとって、ラッパーファイルを使った設定はとても複雑な印象を受けるでしょう(そうでもないのですが)。
そういう方は単に埋め込みオプションを有効にして、indexFIle設定をindex.phpのままにしておいてください。
そうすると、必要なテンプレートファイルだけを編集し、全ての<head>タグ内とカスタムレイアウトの最下部と最上部に挿入する必要があるだけになります。
Smartyテンプレートのマジックによって、これは簡単にできます。
この方法はより簡単なやり方で、Serendipityのテンプレートファイル全てで可能です。 ただし、さらに柔軟な方法はカスタムラッパーファイルを用いることです。 どちらかを選んでください。 あなたの知識と実現への欲求次第です。