Skip to content
  1. Компоненты
  2. SeoFilter
  3. Сниппеты
  4. sfWord

sfWord

Простой сниппет для быстрой выборки Значения и Синонима из Словаря. Может вызываться как модификатор.

Если значение для такого слова с переданным ID поля не найдено, то оно будет создано. Поэтому используйте с осторожностью. Может применяться там, где нужно получить синоним и значение слова, независимо от страницы.

По умолчанию, возвращает массив (для обработки через Fenom), но может вернуть обработанный результат, если передан параметр tpl.

Если же нужно сформировать одну или несколько полноценных ссылок с корректным адресом, то рекомендую воспользоваться сниппетом sfLink.

Если же нужно вывести много ссылок, а точнее целое меню, с подсчётами результатов и дополнительными условиями - то есть сниппет sfMenu

Параметры

Всего может принять от 2 до 3 параметров. По умолчанию в параметрах нет никаких значений.

ПараметрОписаниеПример
&field_id или &optionsОбязательный параметр! Нужно передавать ID поля из первой вкладки SeoFilter.5
&inputОбязательный параметр! Нужно передавать оригинальное значение(запрос) из поля ресурса[[*color]]
&tplНебязательный. Служит для обработки результата. Обработка через pdoTools, поддержка INLINE-чанков.@INLINE <a href="{$15 | url}color-{$alias}">{$value}</a>

Внимание

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

Примеры

Все примеры подразумевают, что вы помните id страницы, правило формирования ссылок и не используете индивидуальные адреса для SEO страниц.

  1. Генерация ссылок на цвета из опций miniShop2 в чанке tpl.msProducts.row (13 - id поля Цвет в SeoFilter):

    fenom
    {if $color | iterable?}
      {foreach $color as $c}
        {var $word = $c | sfWord : 13}
        <a href="{9 | url}cvet-{$word.alias}" class="label label-info">{$word.value}</a>
      {/foreach}
    {/if}
  2. Формирование ссылок в каталоге статей на демо-сайте (Тип ТВ: Авто-метка выводится через разделитель ,):

    fenom
    {if $tags?}
      {var $tags_a = $tags | split}
      {foreach $tags_a as $tag}
        {set $word = $tag | sfWord : 14}
        <a href="{31 | url}{$word.alias}" class="label label-success">{$word.value}</a>
      {/foreach}
    {/if}
  3. Вызов в синтаксисе MODX

    modx
    [[!sfWord? &input=`[[*parent]]` &field_id=`12` &tpl=`@INLINE <a href="{9 | url}{$alias}">{$value}</a>`]]

Сниппет прост в использовании и работает быстро, позволяя добвалять новые слова с фронта. Для более сложных ссылок и вообще любых ссылок с учётом условий по полям используйте сниппет sfLink.