Erro no Quebra de página do joomla 1.6

  • guideluxe1
  • Avatar de guideluxe1 Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
14 anos 6 meses atrás #46922 por guideluxe1
guideluxe1 created the topic: Erro no Quebra de página do joomla 1.6
Bom, geralmente eu posto algumas coisas aqui, mas nunca é respondido, tenho certeza que não será respondido, mas bancando a mula vou postar, quem sabe alguém algum dia passa pelo mesmo problema e resolve postar aqui.

segue
Ao inserir este código "<hr title="1" alt="1" class="system-pagebreak" />"

A pagina gera o seguinte erro "Ocorreu um erro.
A página solicitada não pôde ser encontrada.
404Categoria não encontrada"

Caso alguem esteja passando por isso ou já tenha passado me avise, caaso já tenham postado algo semelhante, avise assim não fico aqui feito uma múmia atualizando a pagina para ver se alguém postou algo....

grato

Please Entrar ou Registrar to join the conversation.


  • guideluxe1
  • Avatar de guideluxe1 Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
14 anos 6 meses atrás #47172 por guideluxe1
guideluxe1 replied the topic: Re: Erro no Quebra de página do joomla 1.6
alguem sabe porque este recurso esta dando erro?

Please Entrar ou Registrar to join the conversation.

Mais
14 anos 5 meses atrás #48085 por alisonjsilva
alisonjsilva replied the topic: Re: Erro no Quebra de página do joomla 1.6
Olá guideluxe1,
Eu eu raramente respondo a questões em forum, pois não tenho muito tempo, mas como estava com o mesmo problema, resolvi e vou postar aqui a resposta.
Se nunca te respondem, estas com sorte hoje. <!-- s;) --><img src="{SMILIES_PATH}/icon_e_wink.gif" alt=";)" title="Piscada" /><!-- s;) -->

Vai em: plugins\content\pagebreak\pagebreak.php
e substitui todo o código pelo que vou postar.
As alterações que fiz estão da linha 273 para baixo.

Espero que te ajude. E a outros também!
<!-- s:ugeek: --><img src="{SMILIES_PATH}/icon_e_ugeek.gif" alt=":ugeek:" title="Uber Geek" /><!-- s:ugeek: -->


<?php
/**
 * @version		$Id: pagebreak.php 20240 2011-01-10 05:46:24Z dextercowley $
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

/**
 * Page break plugin
 *
 * <b>Usage:</b>
 * <code><hr class="system-pagebreak" /></code>
 * <code><hr class="system-pagebreak" title="The page title" /></code>
 * or
 * <code><hr class="system-pagebreak" alt="The first page" /></code>
 * or
 * <code><hr class="system-pagebreak" title="The page title" alt="The first page" /></code>
 * or
 * <code><hr class="system-pagebreak" alt="The first page" title="The page title" /></code>
 *
 * @package		Joomla
 * @subpackage	plg_pagebreak
 * @since		1.6
 */
class plgContentPagebreak extends JPlugin
{
	/**
	 * Constructor
	 *
	 * @access      protected
	 * @param       object  $subject The object to observe
	 * @param       array   $config  An array that holds the plugin configuration
	 * @since       1.5
	 */
	public function __construct(& $subject, $config)
	{
		parent::__construct($subject, $config);
		$this->loadLanguage();
	}

	/**
	 * @param	string	The context of the content being passed to the plugin.
	 * @param	object	The article object.  Note $article->text is also available
	 * @param	object	The article params
	 * @param	int		The 'page' number
	 *
	 * @return	void
	 * @since	1.6
	 */
	public function onContentPrepare($context, &$row, &$params, $page = 0)
	{  
		// Expression to search for.
		$regex = '#<hr(.*)class="system-pagebreak"(.*)\/>#iU';

		$print = JRequest::getBool('print');
		$showall = JRequest::getBool('showall');

		if (!$this->params->get('enabled', 1)) {
			$print = true;
		}

		if ($print) {
			$row->text = preg_replace($regex, '<br />', $row->text);
			return true;
		}

		// Simple performance check to determine whether bot should process further.
		if (JString::strpos($row->text, 'class="system-pagebreak') === false) {
			return true;
		}

		$db = JFactory::getDbo();
		$view = JRequest::getString('view');
		$full = JRequest::getBool('fullview');

		if (!$page) {
			$page = 0;
		}

		if ($params->get('intro_only') || $params->get('popup') || $full || $view != 'article') {
			$row->text = preg_replace($regex, '', $row->text);
			return;
		}

		// Find all instances of plugin and put in $matches.
		$matches = array();
		preg_match_all($regex, $row->text, $matches, PREG_SET_ORDER);

		if (($showall && $this->params->get('showall', 1))) {
			$hasToc = $this->params->get('multipage_toc', 1);
			if ($hasToc) {
				// Display TOC.
				$page = 1;
				$this->_createToc($row, $matches, $page);
			} else {
				$row->toc = '';
			}
			$row->text = preg_replace($regex, '<br />', $row->text);

			return true;
		}

		// Split the text around the plugin.
		$text = preg_split($regex, $row->text);

		// Count the number of pages.
		$n = count($text);

		// We have found at least one plugin, therefore at least 2 pages.
		if ($n > 1) {
			$title	= $this->params->get('title', 1);
			$hasToc = $this->params->get('multipage_toc', 1);

			// Adds heading or title to <site> Title.
			if ($title) {
				if ($page) {
					$page_text = $page + 1;

					if ($page && @$matches&#91;$page-1&#93;&#91;2&#93;) {
						$attrs = JUtility::parseAttributes($matches&#91;$page-1&#93;&#91;1&#93;);

						if (@$attrs&#91;'title'&#93;) {
							$row->page_title = $attrs&#91;'title'&#93;;
						}
					}
				}
			}

			// Reset the text, we already hold it in the $text array.
			$row->text = '';

			// Display TOC.
			if ($hasToc) {
				$this->_createToc($row, $matches, $page);
			} else {
				$row->toc = '';
			}

			// traditional mos page navigation
			jimport('joomla.html.pagination');
			$pageNav = new JPagination($n, $page, 1);

			// Page counter.
			$row->text .= '<div class="pagenavcounter">';
			$row->text .= $pageNav->getPagesCounter();
			$row->text .= '</div>';

			// Page text.
			$text&#91;$page&#93; = str_replace('<hr id="system-readmore" />', '', $text&#91;$page&#93;);
			$row->text .= $text&#91;$page&#93;;

			// $row->text .= '<br />';
			$row->text .= '<div class="pagination">';

			// Adds navigation between pages to bottom of text.
			if ($hasToc) {
				$this->_createNavigation($row, $page, $n);
				
			}

			// Page links shown at bottom of page if TOC disabled.
			if (!$hasToc) {
				$row->text .= $pageNav->getPagesLinks();
			}

			$row->text .= '</div>';
		}

		return true;
	}

	/**
	 * @return	void
	 * @return	1.6
	 */
	protected function _createTOC(&$row, &$matches, &$page)
	{   
		$heading = isset($row->title) ? $row->title : JText::_('PLG_CONTENT_PAGEBREAK_NO_TITLE');

          
		// TOC header.
		$row->toc .= '<div id="article-index">';
		
		
		if($this->params->get('article_index')==1)
		{
			$headingtext= JText::_('PLG_CONTENT_PAGEBREAK_ARTICLE_INDEX');
	        
			if($this->params->get('article_index_text'))
	        {
	        	htmlspecialchars($headingtext=$this->params->get('article_index_text'));
	       	 }
			$row->toc .='<h3>'.$headingtext.'</h3>';
		
		}

		// TOC first Page link.
		$row->toc .= '<ul>
		<li>
			
			<a href="'. JRoute::_('&showall=&limitstart=') .'" class="toclink">'
			. $heading .
			'</a>
			
		</li>
		';

		$i = 2;

		foreach ($matches as $bot) {
			$link = JRoute::_('&showall=&limitstart='. ($i-1));


			if (@$bot&#91;0&#93;) {
				$attrs2 = JUtility::parseAttributes($bot&#91;0&#93;);

				if (@$attrs2&#91;'alt'&#93;) {
					$title	= stripslashes($attrs2&#91;'alt'&#93;);
				} elseif (@$attrs2&#91;'title'&#93;) {
					$title	= stripslashes($attrs2&#91;'title'&#93;);
				} else {
					$title	= JText::sprintf('Page #', $i);
				}
			} else {
				$title	= JText::sprintf('Page #', $i);
			}

			$row->toc .= '
				<li>
					
					<a href="'. $link .'" class="toclink">'
					. $title .
					'</a>
				
				</li>
				';
			$i++;
		}

		if ($this->params->get('showall')) {
			$link = JRoute::_('&showall=1&limitstart=');
			$row->toc .= '
			<li>
				
					<a href="'. $link .'" class="toclink">'
					. JText::_('PLG_CONTENT_PAGEBREAK_ALL_PAGES') .
					'</a>
			
			</li>
			';
		}
		$row->toc .= '</ul></div>';
	}

	/**
	 * @return	void
	 * @since	1.6
	 */
	protected function _createNavigation(&$row, $page, $n)
	{
		$pnSpace = '';
		if (JText::_('JGLOBAL_LT') || JText::_('JGLOBAL_LT')) {
			$pnSpace = ' ';
		}

		if ($page < $n-1) {
			$page_next = $page + 1;

			//$link_next = JRoute::_('&limitstart='. ($page_next));
			$thispage = explode('?', $_SERVER&#91;'REQUEST_URI'&#93;);
			$link_next = $thispage&#91;0&#93;.'?&start='. ($page_next);
			// Next >>
			$next = '<a href="'. $link_next .'">' . JText::_('JNEXT') . $pnSpace . JText::_('JGLOBAL_GT') . JText::_('JGLOBAL_GT') .'</a>';
		} else {
			$next = JText::_('JNEXT');
		}

		if ($page > 0) {
			$page_prev = $page - 1 == 0 ? '' : $page - 1;

			//$link_prev = JRoute::_( '&limitstart='. ($page_prev));
			$thispage = explode('?', $_SERVER&#91;'REQUEST_URI'&#93;);
			$link_prev = $thispage&#91;0&#93;.'?&start='. ($page_prev);
			// << Prev
			$prev = '<a href="'. $link_prev .'">'. JText::_('JGLOBAL_LT') . JText::_('JGLOBAL_LT') . $pnSpace . JText::_('JPREV') .'</a>';
		} else {
			$prev = JText::_('JPREV');
		}

		$row->text .= '<ul><li>' . $prev . ' </li><li>' . $next .'</li></ul>';
	}
}
?>

Alison Silva
Web Developer

Please Entrar ou Registrar to join the conversation.