Создание шаблона для категории блога (fenom)

MODX Revo

В рамках данного урока создадим файловый шаблон для категории блога — который будет выводить наши статьи.

В директории templates создаем файл: CatBlogTemplate.tpl со следующим выводом:

{extends 'file:templates/base.tpl'} 
{block 'content'}
<header class="bg-light pt-2 border-bottom">
    <div class="container">
        {'!pdoCrumbs' | snippet : [
            'showHome' => 1,
            'showAtHome' => 0,
            'tpl' => '@INLINE <li class="breadcrumb-item"><a title="{$menutitle}" href="{$link}">{$menutitle}</a></li>',
            'tplHome' => '@INLINE <li class="breadcrumb-item"><a rel="nofollow" title="{$menutitle}" href="{$link}">{$menutitle}</a></li>',
            'tplWrapper' => '@INLINE <nav aria-label="breadcrumb"><ol class="breadcrumb">{$output}</ol></nav>',
            'tplCurrent' => '@INLINE <li class="breadcrumb-item active" aria-current="page">{$menutitle}</li>'
        ]}
    </div>
</header> 
<section class="bg-white py-4">
    <div class="container">
        <div class="row">
    		<div class="col-lg-9 col-md-8">
                <h1>{$_modx->resource.pagetitle}</h1>
                {$_modx->resource.introtext}
                <div class="row">
                {'!pdoPage' | snippet : [
                    'depth' => '0',
                    'tpl' => '@FILE chunks/blog/article.tpl',
                    'includeTVs' => 'img',
                    'tvPrefix' => '',
                    'sortdir' => 'ASC',
                    'limit' => '4',
                    'tplPageWrapper' => '@INLINE <nav aria-label="pagination"><ul class="pagination">{$prev}{$pages}{$next}</ul></nav>',
                    'tplPageFirst' => '',
                    'tplPageLast' => '',
                    'tplPage' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
                    'tplPageActive' => '@INLINE <li class="page-item active"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
                    'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}"><span aria-hidden="true">«</span></a></li>',
                    'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}"><span aria-hidden="true">»</span></a></li>',
                    'tplPagePrevEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="#"><span aria-hidden="true">«</span></a></li>',
                    'tplPageNextEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="#"><span aria-hidden="true">»</span></a></li>',
                    'tplPageFirstEmpty' => '',
                    'tplPageLastEmpty' => ''
                ]}
                </div>
                {'page.nav' | placeholder}
                {$_modx->resource.content}
            </div>
            {include 'file:chunks/blog/aside.tpl'}
        </div>
    </div>
</section>
{/block}

Где чанк aside.tpl содержит следующий код:

<div class="col-sm-6 mb-3">
    <div class="card h-100">
        <a href="{$uri}"><img class="card-img-top" src="{$img | pthumb : 'w=354&h=156&zc=1'}" alt="{$pagetitle}"></a>
        <div class="card-body">
            <h3 class="h6 card-title"><a class="link-dark" href="{$uri}">{$pagetitle}</a></h3>
            <div class="card-text small">{$introtext | truncate : 100 : ' ... ':true:true}</div>
        </div>
    </div>
</div>

Далее в админке создаем шаблон «Категория блога» и в нем вызываем наш файловый шаблон: {include 'file:templates/CatBlogTemplate.tpl'}.

Теперь зайдите в категорию блога, переключите у нее шаблон, сохраните и посмотрите результат.

получившаяся категория блога

Написано на основе статьи: MODX pdoPage: параметры, примеры вывода ресурсов с разбивкой на страницы.

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( Пока оценок нет )
Web-Revenue.ru
Добавить комментарий