メニュー

Home >freoTIPS>テンプレート系TIPS> エントリー画面やカテゴリー画面でエントリーのタイトルだけを一覧表示する方法

【freoTIPS】【テンプレート系TIPS】エントリー画面やカテゴリー画面でエントリーのタイトルだけを一覧表示する方法

2013/11/23 22:11|タグ:エントリーカテゴリーグッジョブ表示 45

freoのデフォルトのテンプレートでは、エントリー及びカテゴリー画面で、タイトル・投稿日時・本文など「エントリー記事」を一覧表示していますが、これを当サイトのカテゴリー画面のように、タイトル・投稿日時のみを一覧表示する方法は以下のとおりです。

  1. エントリー画面・カテゴリー画面のテンプレートを別途作成していない場合は、[freo/templates/internals/default]フォルダを同階層にコピー・ペーストし、それぞれ[entry][category]とリネームする。
  2. デフォルト画面でタイトルを一覧表示したい場合は[freo/templates/internals/default/default.html]の79行目~150行目
    エントリー画面でタイトルを一覧表示したい場合は[freo/templates/internals/entry/default.html]の79行目~150行目
    カテゴリー画面でタイトルを一覧表示したい場合は[freo/templates/internals/category/default.html]の79行目~150行目

    <!--{foreach from=$entries|smarty:nodefaults item='entry'}-->
       ~~省略~~
    <!--{/foreach}-->

    部分を以下の通り編集する。

    <table class="entry" summary="エントリー">
    <!--{foreach from=$entries|smarty:nodefaults item='entry'}-->
        <tr>
            <td class="entrytitle"><a href="{$freo.core.http_file}/view/{if $entry.code}{$entry.code}{else}{$entry.id}{/if}">{$entry.title}</a></td>
            <td class="entrytime">{$entry.datetime|date_format:'%Y/%m/%d %H:%M'}</td>
        </tr>
    <!--{/foreach}-->
    </table>
    
  3. 編集したテンプレートをアップデートする。

ページ移動

関連エントリー

コメント

moss

管理者様
初めまして、検索にてたどり着いた者です。
大変勉強になるサイトをありがとう御座います。

ひとつ質問させて頂きたく、コメントさせて頂きます。
こちらのページで書いてらっしゃる方法にて、エントリー一覧ページ(XXXXX/index.php/entry)に、記事タイトルと投稿日時のみを表示させることが出来たのですが、
同じテーブルが4つ表示されてしまい、悩んでおります。

登録済みの記事が全部で3つだとしたら、
------------------------
○○○○ 2014.07.18
△△△△△ 2014.07.17
□□□□□□□ 2014.07.16
------------------------
…と表示されるべきものが、

------------------------
○○○○ 2014.07.18
△△△△△ 2014.07.17
□□□□□□□ 2014.07.16
------------------------
------------------------
○○○○ 2014.07.18
△△△△△ 2014.07.17
□□□□□□□ 2014.07.16
------------------------
------------------------
○○○○ 2014.07.18
△△△△△ 2014.07.17
□□□□□□□ 2014.07.16
------------------------
------------------------
○○○○ 2014.07.18
△△△△△ 2014.07.17
□□□□□□□ 2014.07.16
------------------------

という風に、同じものが4つ表示されてしまうのです。

どのようにすれば改善されますでしょうか?

ご教授頂けましたら幸いです。
何卒宜しくお願い致します。

  • 2014/07/22 15:14:28

ミツ@32877

こんにちは。

多分、

<!--{foreach from=$entries|smarty:nodefaults item='entry'}-->
<table class="entry" summary="エントリー">
<!--{foreach from=$entries|smarty:nodefaults item='entry'}-->
<tr>
<td class="entrytitle"><a href="{$freo.core.http_file}/view/{if $entry.code}{$entry.code}{else}{$entry.id}{/if}">{$entry.title}</a></td>
<td class="entrytime">{$entry.datetime|date_format:'%Y/%m/%d %H:%M'}</td>
</tr>
<!--{/foreach}-->
</table>
<!--{/foreach}-->

となっているのだと思います。
foreach(繰り返し)の中でforeachしてしまっていることが、エントリー一覧が何個も表示されてしまう原因です。

もう一度、記事内の編集すべきテンプレート、行数、編集すべき箇所を確認し、ソースを挿入しなおしてください。

  • 2014/07/22 18:04:12

moss

早々にご教授いただき、ありがとう御座います。
やはりご指摘のように間違っておりました…。

<!--{foreach from=$entries|smarty:nodefaults item='entry'}-->
   ~~省略~~
<!--{/foreach}-->

この~~省略~~という部分を書き換えるものとばかり思っておりました…。

お忙しい中、誠に有難う御座います。
本当に助かりました。

  • 2014/07/22 18:17:59

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

新着コメント

Twitter

サイト内検索

ページ上部へ