@twinkleofyourmind

Как вызывать текст внутри заголовка в якоря с помощью модификатора ModX?

У меня на сайте, написанном на движке ModX, есть сайдбар в статейном шаблоне, в котором есть блок с якорями, ведущими на заголовки в соответственно уже открытой статье. Таких страниц много, поэтому создавать кучу шаблонов под каждую из статей - не целесообразно. Было бы логично использовать модификатор ModX, чтобы в одном статейном шаблоне или чанке прописать код , где якоря будут ссылаться на заголовки с id (например от 1 до 5), в которых текст будет соответствовать вызываемым заголовкам. Как это реализовать, какой модификатор за это отвечает?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 2
an-tar
@an-tar
Full stack web developer
Как выводите списки ссылок? Cниппеты getResources, pdoResources, getImagesList(MIGX) имеют в составе модификатор [[+idx]], обычно им удобно пользоваться, он сообщает порядковый номер и дает нужную "уникальность". Например, так:
<a href="[[+uri]]#anchor_[[+idx]]">anchor # [[+idx]]</a>

Ну и в якоре соответственно укажите.
Ответ написан
webrevenue
@webrevenue
Веб-дизайнер и SEO оптимизатор
Если в ручную якоря создавать, то делаете TV с типом ace (нужно установить пакет ace), в нем уже пишите само содержание (якоря), к примеру так:
<ul>
    <li><a href="[[~8]]#chto-takoe-filtry">Что такое фильтры?</a></li>
    <li><a href="[[~8]]#vyhodnoj-filtr">Выходной фильтр</a></li>
    <li><a href="[[~8]]#modifikatory-vyvoda">Модификаторы вывода</a>
        <ul>
            <li><a href="[[~8]]#uslovnye-modifikatory-vyvoda">Условные модификаторы вывода</a></li>
            <li><a href="[[~8]]#modifikatory-vyvoda-stroki">Модификаторы вывода строки</a></li>
            <li><a href="[[~8]]#kehshirovanie">Кэширование</a></li>
            <li><a href="[[~8]]#ispolzovanie-modifikatora-vyvoda-so-svojstvami-tega">Использование модификатора вывода со свойствами тега</a></li>
            <li><a href="[[~8]]#sozdanie-polzovatelskogo-modifikatora-vyvoda">Создание пользовательского модификатора вывода</a></li>
        </ul>
    </li>
    <li><a href="[[~8]]#cepochka-neskolko-vyhodnyh-filtrov">Цепочка (несколько выходных фильтров)</a></li>
  <li><a href="[[~8]]#custom">Примеры пользовательских фильтров вывода</a>
      <ul>
          <li><a href="[[~8]]#sozdanie-polzovatelskogo-modifikatora-vyvoda">Создание пользовательского модификатора вывода</a></li>
          <li><a href="[[~8]]#primery">Примеры</a>
            <ul>
              <li><a href="[[~8]]#alternateclass">alternateClass</a></li>
              <li><a href="[[~8]]#parselinks">parseLinks</a></li>
              <li><a href="[[~8]]#parsetags">parseTags</a></li>
              <li><a href="[[~8]]#parsetags-1">parseTags</a></li>
              <li><a href="[[~8]]#shorten">shorten</a></li>
              <li><a href="[[~8]]#substring">substring</a></li>
              <li><a href="[[~8]]#numberformat">numberformat</a></li>
              <li><a href="[[~8]]#primer">Пример</a></li>
            </ul>
          </li>
      </ul>
  </li>
</ul>

Здесь [[~8]] восьмерку меняете на id документа текущего, соответственно к заголовкам вам нужно прописать id, например <h2 id="chto-takoe-filtry">Что такое фильтры?</h2>
Администрировать гиморойно, зато в плане SEO можно туда любые ключи запихать)
Либо можно написать сниппет который сам все будет делать, вот в качестве примера можете взять: Автоматическая генерация оглавления страницы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы