ContextList::processItem PHP Méthode

processItem() public méthode

Process item
public processItem ( Article $article ) : array
$article Article
Résultat array
    public function processItem(Article $article)
    {
        global $g_user, $Campsite;
        $translator = \Zend_Registry::get('container')->getService('translator');
        return array($article->getArticleNumber(), $article->getLanguageId(), sprintf('
                <div class="context-item" langid="%s">
                    <div class="context-drag-topics"><a href="#" title="drag to sort"></a></div>
                    <div class="context-item-header">
                        <div class="context-item-date">%s (%s) (%s)</div>
                        <a href="#" class="view-article" onClick="viewArticle($(this).parent(\'div\').parent(\'div\').parent(\'td\').parent(\'tr\').attr(\'id\'), $(this).parents(\'.context-item:eq(0)\').attr(\'langid\'));">%s</a>
                    </div>
                    <a href="javascript:void(0)" class="corner-button" style="display: none" onClick="removeFromContext($(this).parent(\'div\').parent(\'td\').parent(\'tr\').attr(\'id\'));removeFromContext($(this).parents(\'.item:eq(0)\').attr(\'id\'));toggleDragZonePlaceHolder();"><span class="ui-icon ui-icon-closethick"></span></a>
                    <div class="context-item-summary">%s</div>
                    </div>
            ', $article->getLanguageId(), $article->getCreationDate(), $article->getWorkflowDisplayString(), $article->getType(), $translator->trans('View article', array(), 'library'), $article->getName()));
    }

Usage Example

Exemple #1
0
    }
}
// filter out PrintDesk articles
$articlesParams[] = new ComparisonOperation('type', new Operator('not', 'string'), 'printdesk');
// search
if (isset($_REQUEST['sSearch']) && strlen($_REQUEST['sSearch']) > 0) {
    $search_phrase = $_REQUEST['sSearch'];
    //$articlesParams[] = new ComparisonOperation('search_phrase', new Operator('is', 'integer'), $search_phrase);
    $articlesParams[] = new ComparisonOperation('search_phrase', new Operator('like', 'string'), "__match_all." . $search_phrase);
}
// sorting
$sortOptions = array(0 => 'bynumber', 2 => 'bysectionorder', 3 => 'byname', 12 => 'bycomments', 13 => 'bypopularity', 16 => 'bycreationdate', 17 => 'bypublishdate');
$sortBy = 'bysectionorder';
$sortDir = 'asc';
$sortingCols = min(1, (int) $_REQUEST['iSortingCols']);
for ($i = 0; $i < $sortingCols; $i++) {
    $sortOptionsKey = (int) $_REQUEST['iSortCol_' . $i];
    if (!empty($sortOptions[$sortOptionsKey])) {
        $sortBy = $sortOptions[$sortOptionsKey];
        $sortDir = $_REQUEST['sSortDir_' . $i];
        break;
    }
}
// get articles
$articles = Article::GetList($articlesParams, array(array('field' => $sortBy, 'dir' => $sortDir)), $start, $limit, $articlesCount, true);
$list = new ContextList(TRUE);
$return = array();
foreach ($articles as $article) {
    $return[] = $list->processItem($article);
}
return array('iTotalRecords' => Article::GetTotalCount(), 'iTotalDisplayRecords' => $articlesCount, 'sEcho' => (int) $_REQUEST['sEcho'], 'aaData' => $return);