技術メモ詳細detail

はじめて?のCMS7

ブログのプラグインをプチ改造していきます。

ブログのプラグインをプチ改造する前にまず。。。。。

準備します。

/lib/Baser/Plugin/Blog

/app/Plugin/にコピーします。

これで準備完了です。

何を改造するのか?

ブログ記事一覧で記事の文字数を指定する事が出来ますが

文字省略しましたよ記号が入れられない;;

文字を省略したらやっぱり「省略しました記号」を入れたいですよね?

私は入れたいのでちょっとだけ触ります。

通常以下のように指定して記事を取得します。

Blog->postContent($post,true,true,100) ?>
これを以下のように指定して
Blog->postContent($post,true,true,100,"・・・") ?>
省略しました記号(・・・)を指定出来るようにします。
さて?この関数は何処にあるのだろうか?
Blog/View/Helper/BlogHelper.php
ここにありました。
/**
 * 記事の本文を表示する
 *
 * @param array $post
 * @param mixied boolean / string $moreLink
 * @return void
 * @access public
 */
	public function postContent($post,$moreText = true, $moreLink = false, $cut = false) {

		echo $this->getPostContent($post, $moreText, $moreLink, $cut);

	}
/**
 * 記事の本文を取得する
 *
 * @param array $post
 * @param mixied boolean / string $moreLink
 * @return string
 * @access public
 */
	public function getPostContent($post,$moreText = true, $moreLink = false, $cut = false) {

		if($moreLink === true) {
			$moreLink = '≫ 続きを読む';
		}
		$out =	'
'.$post['BlogPost']['content'].'
'; if($moreText && $post['BlogPost']['detail']) { $out .= '
'.$post['BlogPost']['detail'].'
'; } if($cut) { $out = mb_substr(strip_tags($out), 0, $cut, 'UTF-8'); } if($moreLink && trim($post['BlogPost']['detail']) && trim($post['BlogPost']['detail']) != "
") { if(!isset($this->Html)){ $this->Html = new HtmlHelper($this->_View); } $out .= '

'.$this->Html->link($moreLink, array('admin'=>false,'plugin'=>'', 'controller'=>$this->blogContent['name'],'action'=>'archives', $post['BlogPost']['no'],'#'=>'post-detail'), null,null,false).'

'; } return $out; }
該当部分は、ここです。
これを以下のように修正します。
/**
 * 記事の本文を表示する
 *
 * @param array $post
 * @param mixied boolean / string $moreLink
 * @return void
 * @access public
 */
	public function postContent($post,$moreText = true, $moreLink = false, $cut = false,$end = "") {

		echo $this->getPostContent($post, $moreText, $moreLink, $cut, $end);

	}
/**
 * 記事の本文を取得する
 *
 * @param array $post
 * @param mixied boolean / string $moreLink
 * @return string
 * @access public
 */
	public function getPostContent($post,$moreText = true, $moreLink = false, $cut = false,$end = "") {

		if($moreLink === true) {
			$moreLink = '≫ 続きを読む';
		}
		$out =	'
'.$post['BlogPost']['content'].'
'; if($moreText && $post['BlogPost']['detail']) { $out .= '
'.$post['BlogPost']['detail'].'
'; } if($cut) { $out = mb_substr(strip_tags($out), 0, $cut, 'UTF-8').$end; } if($moreLink && trim($post['BlogPost']['detail']) && trim($post['BlogPost']['detail']) != "
") { if(!isset($this->Html)){ $this->Html = new HtmlHelper($this->_View); } $out .= '

'.$this->Html->link($moreLink, array('admin'=>false,'plugin'=>'', 'controller'=>$this->blogContent['name'],'action'=>'archives', $post['BlogPost']['no'],'#'=>'post-detail'), null,null,false).'

'; } return $out; }
パラメータに「$end」を追加して文字数指定時($cut)に取得記事の最後に結合しているだけです。
デフォルトは、空文字なのでパラメータを指定しなければ、何も結合されません。
プチ改造の第一弾は、これでおしまいです。
次回は、もうちょっと複雑な改造を行います。
  2014/01/06   muryoku

はじめて?のCMS7にコメントを書き込む

Loading...
 画像の文字を入力してください

SITE INFO

サイトロゴ

Welcome !!

夢力のページにようこそ
いらっしゃいました。

業務内容の紹介と技術的メモを
中心に掲載していく
予定にしております。

暖かい目でよろしく
お願いいたします。

3月 2024年4月 5月
 123456
78910111213
14151617181920
21222324252627
282930

月別アーカイブ一覧



Copyright © Muryoku. All Rights Reserved.