--=REKLAMA=--

Modyfikacja - spis treści artykułu jako lista

Z Joomla!WikiPL

Spis artykułów wieloczęściowych generowany przez dodatek Podziel stronę [Pagebreak] umieszczany jest standardowo w komórkach pionowej tabeli. Niestety, techniki nadpisywania szablonów nie można zastosować do tego dodatku (choć, co ciekawe, można zastosować do dodatku Paginacja]. Poniżej modyfikacja funkcji plgContentCreateTOC, w której zastąpiono kod tabeli kodem listy nienumerowanej z atrybutami klas contenttoc oraz toclink i active.

function plgContentCreateTOC( &$row, &$matches, &$page )
{
 
	$heading = $row->title;
	$limitstart = JRequest::getInt('limitstart', 0);
	$showall = JRequest::getInt('showall', 0);
 
	// TOC Header
//	$row->toc = '
//	<table cellpadding="0" cellspacing="0" class="contenttoc">
//	<tr>
//		<th>'
//		. JText::_( 'Article Index' ) .
//		'</th>
//	</tr>
//	';
 
	// TOC Header
	$row->toc = '<div class="toctitle">'
		. JText::_( 'Article Index' ) .
		'</div>';
 
 
	// TOC First Page link
	$class = ($limitstart === 0 && $showall === 0) ? 'toclink active' : 'toclink';
//	$row->toc .= '
//	<tr>
//		<td>
//		<a href="'. JRoute::_( '&showall=&limitstart=') .'" class="'. $class .'">'
//		. $heading .
//		'</a>
//		</td>
//	</tr>
//	';
	$row->toc .= '<ul class="contenttoc"><li>
		<a href="'. JRoute::_( '&showall=&limitstart=') .'" class="'. $class .'">'
		. $heading .
		'</a>
		</li>';
	$i = 2;
 
	foreach ( $matches as $bot )
	{
		$link = JRoute::_( '&showall=&limitstart='. ($i-1) );
 
 
		if ( @$bot[0] )
		{
			$attrs2 = JUtility::parseAttributes($bot[0]);
 
			if ( @$attrs2['alt'] )
			{
				$title	= stripslashes( $attrs2['alt'] );
			}
			elseif ( @$attrs2['title'] )
			{
				$title	= stripslashes( $attrs2['title'] );
			}
			else
			{
				$title	= JText::sprintf( 'Page #', $i );
			}
		}
		else
		{
			$title	= JText::sprintf( 'Page #', $i );
		}
 
		$class = ($limitstart == $i-1) ? 'toclink active' : 'toclink';
//		$row->toc .= '
//			<tr>
//				<td>
//				<a href="'. $link .'" class="'. $class .'">'
//				. $title .
//				'</a>
//				</td>
//			</tr>
//			';
 
		$row->toc .= '<li>
				<a href="'. $link .'" class="'. $class .'">'
				. $title .
				'</a>
					</li>';
 
		$i++;
	}
 
	// Get Plugin info
	$plugin =& JPluginHelper::getPlugin('content', 'pagebreak');
 
	$params = new JParameter( $plugin->params );
 
	if ($params->get('showall') )
	{
		$link = JRoute::_( '&showall=1&limitstart=');
		$class = ($showall == 1) ? 'toclink active' : 'toclink';
//		$row->toc .= '
//		<tr>
//			<td>
//				<a href="'. $link .'" class="'. $class .'">'
//				. JText::_( 'All Pages' ) .
//				'</a>
//			</td>
//		</tr>
//		';
 
		$row->toc .= '<li>
				<a href="'. $link .'" class="'. $class .'">'
				. JText::_( 'All Pages' ) .
				'</a>
			</li>';
 
	}
//	$row->toc .= '</table>';
      $row->toc .= '</ul>';
}

Dziękujemy za wkład

» Stefan Wajda [zwiastun],