Re: ページリストで、記事本文から、抜粋を作成する方法

2015年2月27日 at 5:58

acliss19xx 様

ご回答ありがとうございます。
ご連絡遅れてすみませんでした。

ご投稿いただきました、リンクの

blog_index.php
blog_index_thumbnail.php

をページリストのカスタムテンプレートに置いて、表示させてみました。

が、結果は同じでした。
ですので、コア(concrete/blocks/page_list/::インストール時にあるカスタムテンプレート)
と差異を確認してみました。

どうも、もとからインストールされているものと同じようです。
これをもとにカスタマイズを始めましたので、困りました。

なので、検索キーワードから、抜粋ではなく、“サマリー”(たまたま気づきました) とかで検索をかけてみました。

そして、本家側のリンク、

https://www.concrete5.org/community/forums/usage/truncate-summaries/

のフォーラム内に、Truncate Summaries と言う投稿を発見しました。

これで、コードのカスタマイズを行いますと、仕様通りのコードを生成することができました。

/concrete/blocks/page_list/templates/blog_index.php
blog_index.php 内の 35行目

<div class="excerpt">
<?php
$a = new Area('Main');
$a->disableControls();
$a->display($cobj);
?>
</div>

を以下のように変更する

<div class="excerpt">
<?php
$a = new Area('Main');
$a->disableControls();
if($truncateChars) {
$th = Loader::helper('text');
ob_start();
$a->display($cobj);
$excerpt = ob_get_clean();
echo $th->entities($th->shorten($excerpt,$truncateChars));
} else {
$a->display($cobj);
}
?>
</div>

このコードに変更して、表示を確認しますと、仕様通りになりました。
また、ページリストブロック、要約の文字数制限も、文字数が指定も字数付近に、
整形されるようになりました。

ご投稿をヒントに自己完結できました。
ありがとうございます。