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

メニューリンクの現在のページに class 付け

「メニューリンクの現在のページに class つけたい」件について。smarty 良くわからないと思って PHP のやり方でできないもんかとグルグル行き詰ってたけど素直に「 smarty $_SERVER['REQUEST_URI'] 」でググったらそのものの変数(?)があったよー><。というわけで。 メニューリンクの現在のページに class をつける 以下はメニュー登録プラグインを導入した際の記述例。 <ul class="nav globalnavigation"> <!--{foreach from=$plugin_menus|smarty:n...

Read More