FlatPress.world のメニューの表示位置を変えてみることにしました。ホームページとして、右または左部分にメニュー選択を持つ例は多いと思います。また、ヘッダー部分の下側にメニュー選択を持っている例も少なくありません。現時点での FlatPress のデザインでは、なるべく縦方向の寸法を短くしたいという意図があるため、右側にメニューを作るのではなくヘッダー下部に変更してすることにしました。
そのためには、次のことが必要となるでしょう。
- ヘッダーを表示しているテンプレートを探す。
- そこのメニューを表示する領域をスタイルシートを用意する。
- 現メニューが Widget として扱われているので、同様の仕組みで作る。
- 新たなメニューを固定ページとして作成する。
- ウィジェットの設定を改めてしなくても、上述で済みとなっているだろう。
FlatPress での Widget の構造(たぶん)
Menu 部のテンプレートはどのような仕組で、そのメニューを表示させているかを調べてみました。こんな風に id を指定して中身を表示しているようで、この id を実験として表示させてみると、[widget-bp-menu]のようになっていました。
<div id="{$id}"> {$content} </div>
現在のmenu 部分は、[widget-bp-menu]というid で表示されているので、ヘッダー部分でそのように表示されれば言い訳です。実際に試してみると、ヘッダー画像やレイアウトも合わせて変更したにと、デザインがマッチしないので、具体的な設定変更の内容説明は先に送ります。
ウィジェット化と場所の指定
Menu の表示位置は簡単にずらせることができます。また、その他のもの、たとえばカテゴリ表示なども同じく表示位置を変更できます。この仕組みの画面になっています。「管理パネル」の「ウィジェット」において、マウス操作で表示場所(右パネルや上パネルなど)や削除ができます。
ヘッダー部分の改造とmenu部分の修正後に、ここでmenuの表示位置を変更してください。
プラグインを利用する
先達がFlatPress 用に便利なプラグインを用意してくれています。まずは、一番簡単で役立つものから入れていきましょう。
【ホームページのトップへジャンプ】
現時点で、FlatPress.world は縦に伸びた形のホームページになっています。一番下に行ってしまうとトップに戻るのが面倒です。プラグインとして、
「Go to Top」がありますので、これを入れてみましょう。
「a simple plugin that is used to return to the top of the page, this plugin works by displaying a small image in the bottom right corner of the page, an image link will appear when scrolling down the page. when pressed it will return to the top with a very smooth. * if you don't like my image you can change button.png on /gotop/ dir with your image, thanks.」
プラグインのダウンロード
「flatpress gototop」で検索すると、「http://wiki.flatpress.org/res:plugins#description52」が見つかると思います。ここから、「GoTop 1.3.4」をダウンロードしておきます。zip 形式なので解凍をして /flatpress.world/fp-plugins/ 配下にアップロードします。
FlatPress の使い方
FlatPress の使い方としては、ブログが基本のようです。オリジナルサイトの特徴説明は、「FlatPress is a blogging engine that saves your posts as simple text files.」となってますね。庵主の利用目的もそうなのですが、種々のメモや資料を保存し、備忘することも大きな目標となってます。このため、テキストでデータが保存されていることも重要であり、また、用意の見つけ出せるようにレイアウトや検索機能の強化の要望を持っています。
そのために、内部分析を行い、独自のカスタマイズを計画し、このサイトにアップしている次第です。例えば、以前から整理したい資料がたくさんあって、これを一気に FlatPess に取り込みたいこともあるやも知れません。もし、そうしたいならば、「見本データの作成」の記事が役立つことでしょう。
ブログは、最新記事(最新エントリー)を日付の浅い順に一覧表示する機能があります。FlatPress にも同様にある訳ですが、二つの使いづらい部分を感じます。
- 表示数が10個に限定されていて、その設定変更項目が「管理エリア」にない。(設定可能に改良する)
- 表示数が10個を超えると、スクロール機能を付加しないと表示面積を潰してしまう。(スクロール可能に改良する)
「管理エリア」で最新記事の表示数を設定可能にする
まず、オリジナルの表示を確認しておきます。このように10個表示の固定になっています。
この表示数を自由に設定するためには、もとより管理画面に入力項目を付けなくてはなりません。「管理エリア」の「設定」で現時点での「一般項目の設定」を見ると、下のようですから、これを真似して付け加えればよいと思います。
この画面で設定動作を引き受けているところを改良してみます。(maxcontents が設定パラメータの変数名です)
/fp-interface/lang/en-us/lang.admin.config.php (array('maxcontents', 'maxcontents', 'isInt', false, false, 'trim'),)の追加です。これは設定データを引っ張ってくる部分ですね。
class admin_config_default extends AdminPanelActionValidated { var $validators = array( // not needed anymore ! // array('blog_root', 'blog_root', 'notEmpty', false, false, 'trim'), array('www', 'www', 'notEmpty', false, false, 'trim'), // ... array('title', 'title', 'notEmpty', false, false, 'trim'), //array('subtitle', 'subtitle', 'notEmpty', false, false, 'trim'), //array('blogfooter', 'blogfooter', 'notEmpty', false, false, 'trim'), array('email', 'email', 'isEmail', false, false, 'trim'), array('maxentries', 'maxentries', 'isInt', false, false, 'trim'), // FlatPress 2014-8-18 array('maxcontents', 'maxcontents', 'isInt', false, false, 'trim'), array('timeoffset', 'timeoffset', 'isNumber', false, false, 'trim'), array('timeformat', 'timeformat', 'notEmpty', false, false, 'trim'), array('dateformat', 'dateformat', 'notEmpty', false, false, 'trim'),
それともう一つ、設定データを格納する部分です。('maxcontents' => $_POST['maxcontents'],)
'email' => $_POST['email'], 'startpage' => ($_POST['startpage'] == ':NULL:')? null : $_POST['startpage'], 'maxentries' => $_POST['maxentries'], // FlatPress.info 2014-8-18 'maxcontents' => $_POST['maxcontents'], // 'voting' => $_POST['voting'],
それと、初期設定を準備しておくところも対応が必要です。