MAIS

    [Joomla] – Usando arquivo externo para pegar conteúdo de artigos

    - 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 -

    Artigos recentes

    Continue lendo

    DEIXE UMA RESPOSTA

    Please enter your comment!
    Please enter your name here