- Anúncio -
- Anúncio -
Se você criar uma query para executar e recuperar o conteúdo é relativamente fácil podemos usar até mesmo esse tutorial, mas como disse as vezes utilizamos plugins, nesse caso eu estava com um problema ao exibir a URL correta, pois utilizo o plugin SEF Advance
Depois de muitas pesquisas, procurar em vários sites e não achar quase nada, fui juntando vários artigos e consegui solucinar meu problema. Antes de exibir o resultado precisamos aplicar o tal plugin.
até ai tudo bem, e como que eu faço isso?
Bom, abaixo segue o script:
define( '_JEXEC', 1 ); define('JPATH_BASE', 'C:EasyPHPwwwjoomla' ); define( 'DS', DIRECTORY_SEPARATOR ); require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' ); require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); require_once ( JPATH_BASE .'/libraries/joomla/factory.php' ); include_once JPATH_BASE .DS.'components/com_content/models/article.php'; require_once JPATH_BASE .DS.'components/com_content/helpers/route.php'; require_once JPATH_BASE .DS.'components/com_content/helpers/query.php'; JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_content/models', 'ContentModel'); $mainframe = JFactory::getApplication('site'); $mainframe->initialise(); //Importamos os plugins JPluginHelper::importPlugin( 'system' ); $db = JFactory::getDbo(); // Get an instance of the generic articles model $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); // Set application parameters in model $app = JFactory::getApplication(); $appParams = $app->getParams(); $model->setState('params', $appParams); $model->setState('list.start', 0); $model->setState('list.limit', 30); $model->setState('filter.published', 1); // Access filter $access = !JComponentHelper::getParams('com_content')->get('show_noauth'); $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')); $model->setState('filter.access', $access); $dir = 'DESC'; $model->setState('list.ordering', 'a.publish_up'); $model->setState('list.direction', $dir); $items = $model->getItems(); foreach ($items as &$item) { $item->slug = $item->id . ':' . $item->alias; $item->catslug = $item->catid . ':' . $item->category_alias; if ($access || in_array($item->access, $authorised)) { //AQUI aplicamos os plugins e resolvemos o problema $mainframe->triggerEvent('onAfterInitialise', array( $item, $params, 0)); $item->link = rtrim(JUri::base(), '/') .JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)); } echo $item->link; } return $items;
É simples e fácil, espero ter ajudado…
- Anúncio -