Skip to content
Modx

Небольшие полезняшки для тех кто работает с Fenom для MODx. Список будет периодически дополняться.

Заполнение блока HEAD на Fenom

Самое первое и главное, сразу под <head>.

<base href="{$_modx->config.site_url}" />

Если заполнен Дополнительный заголовок в ресурсе, выводим его в title, иначе показываем Название поста. — {$_modx->config.site_name} добавляет Название сайта через тире.

<title>{$_modx->resource.longtitle ?: $_modx->resource.pagetitle} — {$_modx->config.site_name}</title>

Если создано TV поле keywords для метатегов ресурса, можно сделать его отображение в случае заполнения. Не заполните, строки не будет.

{if $_modx->resource.keywords?}<meta name="keywords" content="{$_modx->resource.keywords}">{/if}

Если ключевыми словами можно пренебречь, то без description нам нельзя. Берётся с поля Описание в ресурсе.

<meta name="description" content="{$_modx->resource.description}">

Правила для роботов, если в настройках ресурса стоит Доступен для поиска, то index, follow, иначе — noindex, nofollow

{if $_modx->resource.searchable}<meta name="robots" content="index, follow">
{else}<meta name="robots" content="noindex, nofollow">{/if}

Каноническая ссылка для ресурса

<link rel="canonical" href="{$_modx->makeUrl($_modx->resource.id, '', '', 'full')}">

Часто нужно подключать дополнительный скрипт или стиль только на одну страницу. Например, слайдер есть только на Главной, и подключение стилей на других страничках выглядит не логичным. Чтобы не тянуть лишнее по всему сайту можно сделать так. В примере, если id ресурса = 1 (Главная), то добавляем ссылку на css. На всех остальных ресурсах его не будет.

{$_modx->resource.id == '1' ? '<link rel="stylesheet" href="/assets/theme/css/deafult.css">' : ' '}

Или связать не с конкретным ресурсом, а с шаблоном. На всех ресурсах с шаблоном id которого равно 5, будет подключаться нужный скрипт или стиль.

{$_modx->resource.template == '5' ? '<link rel="stylesheet" href="/assets/theme/css/deafult.css">' : ' '}

Блок HEADER

Ссылка с логотипа сайта актуальна только не на Главной. Оптимизируем.  Если id ресурса не равно 1 (Главная), выводим лого с ссылкой на Главную, иначе просто картинка.

{if $_modx->resource.id != 1}
    <a href="/">
        <img alt="{$_modx->config.site_name}" width="100" height="48" src="/assets/theme/img/logo.png">
    </a>
    {else}
        <img alt="{$_modx->config.site_name}" width="100" height="48" src="/assets/theme/img/logo.png">
{/if}

Breadcrumbs (хлебные крошки) на Fenom

{'pdoCrumbs' | snippet : [
    'showHome' => 1,
    'outputSeparator' => '',
    'showCurrent' => '0',
    'hideSingle' => '0',
    'tplWrapper' => '@INLINE <ul itemscope="" itemtype="http://schema.org/BreadcrumbList" class="class-b">{$output}</ul>',
    'tpl' => '@INLINE
        <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem"><a class="class-b" title="{$menutitle}" itemprop="item" href="{$link}"><span itemprop="name">{$menutitle}</span><meta itemprop="position" content="{$idx}"></a></li>',
    'tplCurrent' => '@INLINE
        <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem" class="active"><a title="{$menutitle}" itemprop="item" href="{$link}"><span itemprop="name">{$menutitle}</span><meta itemprop="position" content="{$idx}"></a>',
    'tplHome' => '@INLINE
        <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem"><a rel="nofollow" title="{$menutitle}" itemprop="item" href="{$link}"><span itemprop="name">{$menutitle}</span><meta itemprop="position" content="{$idx}"></a></li>'
]}

Другие вставки

Вывод текущего года на Fenom. Применяется чистая php функция .date

{$.php.date('Y')}

 

Комментариев: 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back To Top