Фильтр "Оглавление" (содержание)

+20
3.5K
Иллюстрация
Работу делал на заказ, благодарить нужно пользователя Nomin.
Надеюсь он не будет против что я опубликовал для общего доступа.
Фильтр позволяет создать в статье оглавление, которое формируется с заголовков (<h2> и <h3>).
Вывести можно в любом месте статьи, вставив тег {ОГЛАВЛЕНИЕ}
Фильтр формирует оглавление статьи со ссылками на нужные заглавия, используя текст, который в редакторе выделенный стилем "Заголовок 2" и "Заголовок 3" (<h2> и <h3>).
Стили не прописывал, думаю каждый сможет оформить "под себя". Для этого нужно создать стили в вашем шаблоне для блока <div class="zmist_box"> и списка <ul id="zmist" class="zmist"> ну и соответственно для их содержимого.

Установка: Скопировать файлы с архива + выполнить код в базе
  1. INSERT INTO `cms_filters` (`title`, `description`, `link`, `published`) VALUES
  2. ('Оглавление', 'Вставка оглавления в статью по тегу {ОГЛАВЛЕНИЕ}', 'f_contents2', 1);
Скачать можно здесь
Буду рад если кому нибудь пригодится.
0
AndroS AndroS 7 лет назад #
Хорошая штука, для двоечки бы такую, но с оговорками.
Чтоб оглавление выводилось виджетом, при условии наличия более X (устанавливается админом, обычно 2-3) заголовков в статье.
+1
Алексей Т Алексей Т 7 лет назад #
Для 2+ тоже есть решение http://23.templateinstant.ru/example/1-primer-raboty-zagolovkov.html кому надо заказывайте.
+1
Алексей Т Алексей Т 7 лет назад #
Настройки
0
Jestik Jestik 7 лет назад #
А в виджете нету вывода? Оно лпатное? Вы бы на демках делали сразу ссылку на покупку/загрузку
0
Игорь ФИН Игорь ФИН 7 лет назад #
а вот это что у вас за http://23.templateinstant.ru/news/81.html
0
roman1 roman1 7 лет назад #
Я бы купил!
+2
Fuze Fuze 7 лет назад #
Я себе в документации делал вот так, вставляя в шаблон просмотра записи

Код HTML:
  1. <!--noindex-->
  2. <div id="toc">
  3. <h3>Содержание <em class="icon-caret-down">&nbsp;</em></h3>
  4. <div>
  5. <ul></ul>
  6. </div>
  7. </div>
  8. <script type="text/javascript">
  9. $(function (){
  10. $('.con_text h2, .con_text h3').each(function(i) {
  11. var current = $(this);
  12. current.attr('id', 'hash'+i);
  13. $('#toc ul').append("<li class='toc_"+current[0].tagName+"'><a title='"+current.text()+"' href='#hash"+i+"'>"+current.html()+"</a></li>");
  14. });
  15. $('#toc h3').on('click', function (){
  16. $('#toc > div').toggle();
  17. $('#toc h3 > em').toggleClass('icon-caret-left icon-caret-down');
  18. return false;
  19. });
  20. });
  21. </script>
  22. <!--/noindex-->
0
deltas deltas 7 лет назад #
Да, видел такое решение, шустренько и хорошо работает, только хотелось на php чтобы более "кросплатформенно" было/. а то мало ли, вдруг у посетителя скрипты не работают))
0
Melon Melon 7 лет назад #
Большое спасибо, очень нужная вещь!
0
Странник Странник 7 лет назад #
Хех))) точно такой фильтр я сделал в прошлом году, но работа принадлежит не мне. Зато от той работы у меня остался Генератор фильтра с помощью которого я и сделал фильтр Содержание)))

Удачи, друг Делтас.
0
Александр Александр 7 лет назад #
Очень интересно! v
0
greshnik greshnik 6 лет назад #
Подскажите для 2 есть что-нибудь подобное, не нашел здесь?
0
scanread scanread 6 лет назад #
На 1.10.7 - H3 не обрабатывает... sad
0
scanread scanread 6 лет назад #
Точнее, работает, но с фронтенда если сохранить. С админки при добавлении статьи не срабатывает. Может кто подсказать, что надо где подправить, чтобы при добавлении с админки сохраняло как надо? .... zst

Еще от автора

Обновление компонента "Replacement замена в контенте" + бонус
Как и обещал, поработал над обновлением компонента Replacement.
Replacement - замена в контенте. Компонент для ICMS 2.x
Компонент на основе фильтра "Красивые заметки в тексте" для первой версии. По просьбам пользователей сделал подобное для второй ветки.
Фильтр ICMS Note - Красивые заметки в тексте
Опять же по просьбе Nomin сделал фильтр для создания красивых заметок в тексте.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.