へっぽこ、ミニマル、DIY
2017-08-23 footfoot (0)

【PluXmlカスタム】記事投稿のサムネイルの元画像を表示する

PluXmlは投稿記事で設定した画像を表示する機能はありますが、サムネイルの元の大きい画像を表示するplxShow関数がなかったのでPHPをいじって追加しました。

※ カスタムしたバーションはPluXml 5.5です。

1. class.plx.show.phpに関数を追加

plxShow(何かを表示する関数)はcore/lib/class.plx.show.phpに書かれてるので、このファイルに関数を追加しました。

artThumbnail(525行目)が投稿記事の画像を表示する関数で、これをコピーして少し変えました。サムネイルのファイル名は元画像に.tbを加えたものなので、.tbを取り除いて元の大きい画像のURLにしたのが↓のソースコード。サムネイル用のclassは削除してます。

関数名は"artLimage"にしました。

	/**
	 * Article Large Image
	 *
	 * @param	format	format d'affichage (variables: #img_url, #img_alt, #img_title)
	 * @scope	home,categorie,article,tags,archives
	 **/
	public function artLimage($format='<img src="#img_url" alt="#img_alt" title="#img_title" />', $echo=true) {

		$thuUrl = $this->plxMotor->plxRecord_arts->f('thumbnail');
		$imgUrl = str_replace('.tb', '', $thuUrl);
		if($imgUrl) {
			$row = str_replace('#img_url', $this->plxMotor->urlRewrite($imgUrl), $format);
			$row = str_replace('#img_title', plxUtils::strCheck($this->plxMotor->plxRecord_arts->f('thumbnail_title')), $row);
			$row = str_replace('#img_alt', $this->plxMotor->plxRecord_arts->f('thumbnail_alt'), $row);
			if($echo)
				echo $row;
			else
				return $row;
		} else {
			if(!$echo) return false;
		}

	}

2. テーマのPHPに追加した関数を記述

追加した関数はhome,categorie,article,tags,archivesで使えます。

<?php  $plxShow->artLimage(); ?>

やりたかったのは、トップ、カテゴリ、タグ、アーカイブのページには投稿記事のサムネイルを表示して、個別記事のページには大きい画像を表示することだったので、article.phpに作ったの関数を記述して完了。

※注意: 記事投稿でファイル名に.tbが付いた画像を選ばないと意味がありません。

PluXml なし
シェア

コメントを書く

最初のアルファベットを入力してください qtiobm?

このコメントのRSS