Доброго времени суток уважаемые форумчане .
Нужен компонент оглавления статей, перед каждой статьей список с оглавлением,
Сами пункты оглавления брать поочередно из статьи (сами пункты в тегах h2)
Как это долго выглядеть в готовом варианте
Примерно так
joxi.ru/Vrwl3qBFJavVmX
Сколько будет стоить реализовать такой компонент?
Просьба писать в ЛС Цену и Сроки+ если есть портфолио будет отлично.
Список оглавлений
#2
10 апреля 2015 в 19:37
ну во первых это не компонент а плагин будет который перед выводом статьи будет выводить оглавление и который по факту должен выдернуть h2 заголовок и поставить на него якорь чтобы можно было перейти на нужный раздел.
#3
10 апреля 2015 в 21:37
Макс прав. Или фильтр. С точки зрения удобства писателя статьи фильтр даже лучше. А идея интересная.
Сегодня в 23:22
#4
10 апреля 2015 в 22:52
Дык можно и не заморачиваться, все просто решается несколькими строчками js в tpl шаблона.
#5
10 апреля 2015 в 23:01
да, но фильтр можно вставить в любое место статьи — хоть в начало, хоть после анонса, хоть в конец, а в tpl будет дубово стоять, где поставишь.
#6
11 апреля 2015 в 00:05
вставлять нужно будет только в начале статьи
Изменения вносим в com_content_read.tpl
Там, где нужно выводить оглавление, прописываем:
Внизу вставляем скрипт:
Стилизируем на своё усмотрение, но базово хотя бы так (добавить в css):
Смотреть результат.
Там, где нужно выводить оглавление, прописываем:
<h3>Оглавление:</h3> <ul class="show-all-h2"></ul>
{literal} <script type="text/javascript"> var h2link = (function(i){return "#anchoron" + (i + 1);}); var h2title = (function(i){return "anchoron" + (i + 1);}); $('.con_text h2').clone().addClass('h2-list').prependTo('ul.show-all-h2').wrap("<li class='show-li-h2'><a href=''></a></li>"); $('h2.h2-list').contents().unwrap(); $(".con_text h2").attr('id', h2title); $('li.show-li-h2 a').attr('href', h2link).click(function(){ $('html, body').animate({ scrollTop: $( $.attr(this, 'href') ).offset().top }, 500); return false; }); </script> {/literal}
ul.show-all-h2 { list-style-type: decimal; margin: 0; padding: 0; }
#9
12 апреля 2015 в 15:00
Джехутимери, браво-браво дружище. Отличный хак, красивый код.
#10
12 апреля 2015 в 18:37
Спасибо, Странник, приятно :)