MODX. Виджет для просмотра неопубликованных статей

Самый простой способ создания виджета для просмотра неопубликованных статей — используя pdoRecources. 

  1. Создаем сниппет getlist_unpublished_resources с кодом:
    <?php
    $output = $modx->runSnippet('pdoResources', array(
        'limit' => 20,    
        'parents' => 15,  
        
        'tplWrapper' => 'tpl.widget.getlist_unpub_res_wrap',    
        'tpl' => 'tpl.widget.getlist_unpub_res_row',   
        
        'hideContainers' => 1,   
        'showUnpublished' => 1,
        'where' => '{
            "published":0,
            "pub_date:!=":0
        }',
        'sortby' => '{ "pub_date":"ASC" }'
    ));
    return $output;
  2. Создаем чанки tpl.widget.getlist_unpub_res_wrap и tpl.widget.getlist_unpub_res_row:
    // tpl.widget.getlist_unpub_res_wrap
    <table>
        <thead>
            <tr>
                <th>Название ресурса</th>
                <th>Дата публикации</th>
                <th>Категория</th>
            </tr>
        </thead>
    	<tbody>
    [[+output]]
        </tbody>    
    </table>
    
    // tpl.widget.getlist_unpub_res_row
    <tr>
        <td>
            <a href="[[~[[+id]]]]" target="_blank">[[+pagetitle]]</a>
        </td>
        <td>[[+pub_date:date=`%d %b %Y`]]</td>
        <td>[[+parent:isnot=`0`:then=`<a href="[[~[[+parent]]]]" target="_blank">[[#[[+parent]].pagetitle]]</a>`]]</td>
    </tr>
  3. В системном меню, в разделе «Панели», переходим на вкладку «Виджеты», и добавляем новый виджет с настройками:
    • Имя виджета: Неопубликованные ресурсы;
    • Тип виджета: сниппет;
    • Содержимое виджета: getlist_unpublished_resources (это название сниппета в котором будет подготавливаться информация);
  4. Добавляем созданный виджет на текущую панель (обычно default), при помощи правого клика мыши и выбора пункта «Редактировать».

Если все сделано верно, на главной странице админки появится соответствующий виджет.