Вход Регистрация
Файл: contao-3.5.8/system/modules/core/modules/ModuleArticleList.php
Строк: 63
<?php

/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2016 Leo Feyer
 *
 * @license LGPL-3.0+
 */

namespace Contao;


/**
 * Front end module "article list".
 *
 * @author Leo Feyer <https://github.com/leofeyer>
 */
class ModuleArticleList extends Module
{

    
/**
     * Template
     * @var string
     */
    
protected $strTemplate 'mod_article_list';


    
/**
     * Do not display the module if there are no articles
     *
     * @return string
     */
    
public function generate()
    {
        if (
TL_MODE == 'BE')
        {
            
/** @var BackendTemplate|object $objTemplate */
            
$objTemplate = new BackendTemplate('be_wildcard');

            
$objTemplate->wildcard '### ' utf8_strtoupper($GLOBALS['TL_LANG']['FMD']['articleList'][0]) . ' ###';
            
$objTemplate->title $this->headline;
            
$objTemplate->id $this->id;
            
$objTemplate->link $this->name;
            
$objTemplate->href 'contao/main.php?do=themes&amp;table=tl_module&amp;act=edit&amp;id=' $this->id;

            return 
$objTemplate->parse();
        }

        
$strBuffer parent::generate();

        return !empty(
$this->Template->articles) ? $strBuffer '';
    }


    
/**
     * Generate the module
     */
    
protected function compile()
    {
        
/** @var PageModel $objPage */
        
global $objPage;

        if (!
strlen($this->inColumn))
        {
            
$this->inColumn 'main';
        }

        
$intCount 0;
        
$articles = array();
        
$id $objPage->id;

        
$this->Template->request Environment::get('request');

        
// Show the articles of a different page
        
if ($this->defineRoot && $this->rootPage 0)
        {
            if ((
$objTarget $this->objModel->getRelated('rootPage')) !== null)
            {
                
$id $objTarget->id;

                
/** @var PageModel $objTarget */
                
$this->Template->request $objTarget->getFrontendUrl();
            }
        }

        
// Get published articles
        
$objArticles ArticleModel::findPublishedByPidAndColumn($id$this->inColumn);

        if (
$objArticles === null)
        {
            return;
        }

        while (
$objArticles->next())
        {
            
// Skip first article
            
if (++$intCount <= intval($this->skipFirst))
            {
                continue;
            }

            
$cssID deserialize($objArticles->cssIDtrue);
            
$alias $objArticles->alias ?: $objArticles->title;

            
$articles[] = array
            (
                
'link' => $objArticles->title,
                
'title' => specialchars($objArticles->title),
                
'id' => $cssID[0] ?: standardize($alias),
                
'articleId' => $objArticles->id
            
);
        }

        
$this->Template->articles $articles;
    }
}
Онлайн: 0
Реклама