ホーム > concrete5 > page_list をテーマ発表用にカスタマイズ
 
<< 1 2 3 4 5 6 7 8 9 10 >> 

ページリストをカスタマイズ

ページリストをカスタマイズしてテーマのサムネイルを表示するようにしてみた。

といっても

/concrete/block/page_list/view.php

/block/page_list/view.php

にコピーして

15行目と21行目を追加しただけ。

追記

Katzさんに、

おそらく・・・、そのコードを
blocks/page_list/templates/○○.php
として保存したらカスタムテンプレート指定で出来るような気がします。

と教えてもらったので

/blocks/page_list/templates/ShowTheme.php として保存したら。

編集時にカスタムテンプレートを指定できるようになった。

 

使い方によっては一つの機能で複数の表示が出来ることになる便利な機能。

Filename: /blocks/page_list/templates/ShowTheme.php

		<?php
defined('C5_EXECUTE') or die(_("Access Denied."));
$textHelper = Loader::helper("text");
// now that we're in the specialized content file for this block type,
// we'll include this block type's class, and pass the block to it, and get
// the content
if ($paginate && $num > 0 && is_object($pl)) {
	?>
		<div style="clear: both;">&nbsp;</div>
	<?php
	$pl->displayPaging();
}

	if (count($cArray) > 0) { ?>
	<div class="ccm-page-list">

	<?php
	for ($i = 0; $i < count($cArray); $i++ ) {
		$cobj = $cArray[$i];

		$thumbnail_path = str_replace('/concrete5','', $cobj->cPath) . "/thumbnail.png";

		$title = $cobj->getCollectionName(); ?>

	<h3 class="ccm-page-list-title"><a href="<?php echo $nh->getLinkToCollection($cobj)?>"><?php echo $title?></a></h3>
	<div class="ccm-page-list-description">
		<img src="<?php echo $thumbnail_path; ?>" alt="<?php echo $cobj->vObj->cvName; ?>"  style="padding-right: 10px;"/>
		<?php
		if(!$controller->truncateSummaries){
			echo $cobj->getCollectionDescription();
		}else{
			echo $textHelper->shorten($cobj->getCollectionDescription(),$controller->truncateChars);
		}
		?>
	</div>
	<div style="clear: both;">&nbsp;</div>
<?php   }
if(!$previewMode && $controller->rss) {
	$btID = $b->getBlockTypeID();
	$bt = BlockType::getByID($btID);
	$uh = Loader::helper('concrete/urls');
	$rssUrl = $controller->getRssUrl($b);
			?>
			<div class="rssIcon">
				<a href="<?php echo $rssUrl?>" target="_blank"><img src="<?php echo $uh->getBlockTypeAssetsURL($bt, 'rss.png')?>" width="14" height="14" alt="rss" /></a>

			</div>
			<link href="<?php echo $rssUrl?>" rel="alternate" type="application/rss+xml" title="<?php echo $controller->rssTitle?>" />
		<?php
}
	?>
</div>
<?php  }

if ($paginate && $num > 0 && is_object($pl)) {
	$pl->displayPaging();
}

?>