Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » オリジナルのテンプレート(3): Joomla!1.5
Feb
18
2009

オリジナルのテンプレート(3): Joomla!1.5

EMailPrintPDF
0 votes
Written by:Joomler! 10052 hits

第三回(おっ)は、Paginationを自在に操ってみましょう。(えっ)
出来上がりイメージは、以下のようです。

template_pagination

まあまあ、デフォルトのテンプレートでも», «で最初と最後の先端は、表示されますが、それをさらに変更した物のように見えます。通常これをやろうと思えば、ランゲージファイルを変更し、さらに「自分のテンプレート]/html/pagination.phpを少し変更すれば可能です。だけど、ランゲージファイルをサイトを作成するたびに変更するのは面倒だし、ランゲージに左右されることなく、テンプレート配下で自由に変更したいですよね。

そこでpagination.phpを以下のようにしました。
(デフォルトのテンプレートにも含まれているhtmlフォルダ配下のファイルです。)

<?php
defined('_JEXEC') or die('Restricted access');

function pagination_list_footer ($list)
{
	$html = '<div class="list-footer">';

	$html .= '<div class="limit">' . JText::_('Display Num') . $list['limitfield'] . '</div>';
	$html .= $list['pageslinks'];
	$html .= '<div class="counter">' . $list['pagescounter'] . '</div>';

	$html .= '<input type="hidden" name="limitstart" value="' . $list['limitstart'] . '" />';
	$html .= "\n</div>";

	return $html;
}

function pagination_list_render ($list)
{
	// Initialize variables
	$html = '<span class="pagination">';
	$html .= $list['start']['data'];
	$html .= $list['previous']['data'];

	foreach ($list['pages'] as $page) {
		if ($page['data']['active']) {
			$html .= '<strong>';
		}

		$html .= $page['data'];

		if ($page['data']['active']) {
			$html .= '</strong>';
		}
	}

	$html .= $list['next']['data'];
	$html .= $list['end']['data'];

	$html .= '</span>';
	return $html;
}

function pagination_item_active (&$item)
{
	$linktext = '';
	$id = '';
	pagination_assign_text($item, $linktext, $id);

	return '<a href="' . $item->link . '" title="' . $item->text . '">' . $linktext . '</a>';
}

function pagination_item_inactive (&$item)
{
	$linktext = '';
	pagination_assign_text($item, $linktext);

	return $linktext;
}

function pagination_assign_text ($item, & $linktext)
{
	static $start, $end, $prev, $next;
	if (is_null($start)) {
		$start = JText::_('START');
		$end = JText::_('END');
		$prev = JText::_('PREV');
		$next = JText::_('NEXT');
	}

	switch ($item->text) {
		case $start:
			$linktext = '<span id="pagistart">&laquo;&laquo;</span>';
			break;

		case $end:
			$linktext = '<span id="pagiend">&raquo;&raquo;</span>';
			break;

		case $prev:
			$linktext = '<span id="pagiprev">&laquo;</span>';
			break;

		case $next:
			$linktext = '<span id="paginext">&raquo;</span>';
			break;

		default:
			$linktext = '<span>'. $item->text. '</span>';
			break;
	}
}

?>

こうすることで「次へ」や、「最初」の文字をランゲージファイルに触れることなく、自由に変更できます。また、&raquo;や&laquo;を画像に置き換える事もできます。

 

ADD A COMMENT

Subject*
:
Color Swatch




Email Link Page Code Text Align Center Text Align Justify Text Align Left Text Align Right Text Bold Text Quote Text Italic Text List Bullets Text List Numbers Text Strikethrough Text Underline World Link
Sun Unhappy Smile Evilgrin Wink Tongue Lightning Surprised Grin Rain Clouds Cloudy Snow Waii
Name*
:
EMail*
:
Please answer....
Submit Preview

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社

Related Items

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.