freoをSmarty3に対応させる

龍の棲む場所 さんの「freo TIPS」内「Smartyを2.x系から3.x系にバージョンアップするときのTIPS」に従ってSmarty3を導入し、テンプレートファイルの書き換えをします。詳しくは 龍の棲む場所 さんを熟読してください。以下は自分用覚書。 Smarty3の入手 PHP Template Engine | Smarty freo/libs/smartyフォルダをバックアップ smarty公式で入手したzipの中のlibsフォルダをsmartyにリネームし、freoのlibs/smartyフォルダと置き換え バックアップしたSmarty2.x系のフ...

Read More

【2021年版】xamppでfreoを使う・2

freo.jp よりfreo最新版のVer 1.20.2(2020年12月現在)をダウンロードしてきてセットアップ。ちなみにプラグインは GitHub から全部入りをZIPでダウンロードしてくるとちょっと楽。 まずはPHP7.x.x~への対応 TIPSを発信してくださっている先達に感謝です。 龍の棲む場所 さんの「freo TIPS」内「freoをphp5.6や7でエラーなく動作できるようにしてみる」に従ってファイルの書き換え。あとはfreo公式の設置ガイド通りセットアップできるはずがすんなりとはいきませんでした。 xamppのPHP 7.4.1 の設定 freoセットアッ...

Read More

ページ一括表示プラグインで「表示しない」ページを簡単に設定する

page_all.png

「ページ一括表示プラグイン」では、freo の「ページ」で作ったコンテンツを一括してツリー状に表示することが出来ます。ただこの「ページ一括表示プラグイン」は、デフォルトでは「ページ」すべてをツリー表示あるいは特定のページ以下をツリー表示、しかできないので子ページ・孫ページを複数持つようなページ構成で、サイトトップに「ページ一括表示プラグイン」を使ってメニューリンクを表示したい、でも子ページ・孫ページ…まで表示させるとメニュー部分が大きくなって嫌、とか、とにかく「表示させたくないページ」が出てくることがありました。 多分「ページ一括表示プラグイン」で「表示させないページを設定する」方法はい...

Read More

entryでは本文抜粋だけ表示

記事一覧(「URL/entry」)では本文抜粋のみ表示、というのを「続きを読む」機能やネタバレボタン機能を使わずに実現するカスタマイズです。解りにくい説明ですが、まぁ当サイトの/entryのような表示方法です。 下準備 オプション管理で本文概要用のオプションを作ります。以下はその例です。 オプション名:summary オプション名:本文の要約 利用対象:すべて 種類:複数行入力 必須:任意 編集するテンプレート templates/internals/default/default.html 「 トップページのみ表示を変更する 」カスタ...

Read More

年別タイトル一覧ページの作り方

freo ではブログ(/entry)のカレンダーやサイドバーの過去ログリストリンククリックで月別アーカイブを表示することが出来ますが、その時「/entry」のテンプレートでの表示になります。 「/entry」では表示速度などを考慮してそんなにたくさんのエントリーを表示していない 当サイトでは10個 本文全文表示してるサイトさんとかもっと少ないかも ブログ閲覧時、時系列(何年何月)をもとに記事を探すことがあるか? 自分は普段カテゴリーやタグリンクから目的の記事を探すことが多い 時系列で探すとしたらタイトルだけざっと見られて目的の記事探す方が便利な気がする...

Read More

foreachでループした最初の要素の表示

foreachでループした最初の要素を判断する smarty 変数(プロパティ) ループが開始されて最初の1回目を判別するには「first」プロパティを使用します。 $smarty.foreach.ループ名.first 具体的な記述例 {foreach from=$data item='value' name='name'}     {if $smarty.foreach.name.first}         最初:{$value}     {else}         {$value}     {/if} {/foreach} これを実行するとループの一番目だ...

Read More

携帯で電話番号リンクを正常に動作させる

freo の携帯版ページに <a href="tel:電話番号">電話番号</a> というタグを書いたとき、 href 属性値にセッション ID が付加されるためにある機種では正常に機能しない(リンククリックで電話が掛けられない)場合があるようです。これを回避するためのカスタマイズです。 /libs/freo/ディレクトリ内「transfer.php」の44行目付近に if(preg_match("/tel:/", $data)) { // 電話番号タグはそのまま返す return $data; } を追加します。このコードを追加するこ...

Read More

ページ一括表示プラグインで分類別イメージギャラリー

久々の freo ネタです。当サイトの配布物のページはページイメージ分類別表示プラグインを使って表示しているのですが、このプラグインだと一階層しか表示できません。「ページイメージ分類別表示プラグインは一階層しか表示できないのかぁ…Gallery/hoge/foo/barなIDはリストアップしてくれないっぽい」とつぶやいたところ、freo 作者のないとさんからアドバイスをいただいたのでそのうち公式で解説が出るかもしれませんがメモとして残しておきます。 ページ一括表示プラグインで階層無制限の分類別イメージギャラリー 使うプラグインはページ一括表示プラグインです。templates/plu...

Read More

freoのコメント表示のカスタマイズ

freo のコメント周りのカスタマイズネタです。 メールアドレスを管理人(と記事投稿者)にだけ見えるようにする デフォルトのテンプレートだとコメント投稿時にメールアドレスを記入してもらうと mail:to リンクで表示されちゃいます。こうなってるとスパムのターゲットにもなりやすく、メアドの記入をためらう人も多いと思います(コメントにメアドが必要かどうかはここではおいておきます)。そこで、メアドが記入された場合は管理画面にログインしたサイト管理者と記事投稿者のみにだけ表示させるカスタマイズをしました。 templates/view/default.html の135行目 &l...

Read More

プラグインなしでタイトルを変更する方法

以前のカスタマイズで使っていた方法です。templates/header.htmlの title タグ間を編集します。 <title>{if $entry.title}{$entry.title} | {elseif $page.title}{$page.title} | {/if}{$freo.config.basis.title}</title> これを下記のように編集します。 <title>{if $entry.title}{$entry.title} | {elseif $page.title}{$page.title} | ...

Read More