X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> По умолчанию [DLE] Вывод содержания статьи в новости
Demcheg
Demcheg
Topic Starter сообщение 5.1.2015, 21:53; Ответить: Demcheg
Сообщение #1


Доброго всем времени суток.

Задача стоит в следующем: нужно после краткого описания новости выводить содержание статьи, которое будет браться из заголовков в самой статье. То есть у меня есть заполненная статья, внутри которой есть подзаголовки h2 и h3. В начале статьи (очень желательно после вступления, которое у меня дублирует shortstory) должно быть содержание статьи, составленное из этих подзаголовков, где каждый пункт содержания будет ссылкой на соответствующий подзаголовок.

Пример есть в статье (под первой картинкой и небольшим вступлением): _http://ogorodsadovod.com/entry/705-kak-pravilno-vyrashchivat-klubniku

Есть несколько вопросов:
1. Как это можно реализовать?
2. Можно ли это реализовать не редактируя вручную каждую статью, при условии, что мне нужно содержание после вступления?

Если кто-то готов за это взяться - можете сразу написать сколько денег хотите.

Буду благодарен любым советам :)

П.С. Версия DLE на данный момент 10.2, но планирую обновляться до 10.4, как только она выйдет.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex_RD
Alex_RD
сообщение 6.1.2015, 7:00; Ответить: Alex_RD
Сообщение #2


в fullstory.tpl заменить {full-story} на
Код
<div id="table_of_contents">
    <div class="toc-title">Содержание</div>
    <ul>
    </ul>
</div>
<div id="the_content">{full-story}</div>
<script>
$(document).ready(function(){
$("#the_content h1, #the_content h2, #the_content h3, #the_content h4, #the_content h5").each(function(i) {
    var current = $(this);
    current.attr("id", "title" + i);
    $("#table_of_contents ul").append("<li class='list-" + current.prop("tagName") + "'><a id='chapter" + i + "' href='#title" +
        i + "' title='" + current.prop("tagName") + "'>" +
        current.html() + "</a></li>");
});
  });
</script>


--------------------


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Demcheg
Demcheg
Topic Starter сообщение 10.1.2015, 15:14; Ответить: Demcheg
Сообщение #3


Alex_RD, круто, спасибо огромное!

Но тут возникает немножко другая проблемка - такой код не распознает различия между h2 и h3, чтобы сделать древовидный вывод содержания.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex_RD
Alex_RD
сообщение 10.1.2015, 15:46; Ответить: Alex_RD
Сообщение #4


Demcheg,
Он выводит по порядку нахождения в тексте. Если идет так: h1-h2-h2-h3-h3-h1-h2 и.т.д. То получиться, каждой строке в содержании подставляется класс list-h1,list-h2,list-h3 (для h1,h2 и h3 соотвественно), применить к ним нужные стили и будет древовидный.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Scorpion71
Scorpion71
сообщение 11.1.2015, 1:03; Ответить: Scorpion71
Сообщение #5


Alex_RD, спасибо за скрипт, а как можно вручную так прописывать в статье? Просто по способу что ты дал выводит содержание в самом начале статьи, а нужно чтобы после первого абзаца.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex_RD
Alex_RD
сообщение 11.1.2015, 7:51; Ответить: Alex_RD
Сообщение #6


Scorpion71
Код
{full-story}

на
Код
<div id="the_content">{full-story}</div>
<script>
$(document).ready(function(){
$("#the_content p:first").after('<div id="table_of_contents"><div class="toc-title">Содержание</div><ul></ul></div>');
$("#the_content h1, #the_content h2, #the_content h3, #the_content h4, #the_content h5").each(function(i) {
    var current = $(this);
    current.attr("id", "title" + i);
    $("#table_of_contents ul").append("<li class='list-" + current.prop("tagName") + "'><a id='chapter" + i + "' href='#title" +
        i + "' title='" + current.prop("tagName") + "'>" +
        current.html() + "</a></li>");
});
  });
</script>


#the_content p:first - после первого абзаца (<p>), можно заменить на что-то другое.

Сообщение отредактировал Alex_RD - 11.1.2015, 7:52


--------------------


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Scorpion71
Scorpion71
сообщение 11.1.2015, 16:50; Ответить: Scorpion71
Сообщение #7


Alex_RD, спасибо ещё раз, последняя просьба - как при отсутствии тегов Н1-Н5 в статье убрать слово "Содержание"?

Сообщение отредактировал Scorpion71 - 11.1.2015, 16:52
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Demcheg
Demcheg
Topic Starter сообщение 12.1.2015, 14:00; Ответить: Demcheg
Сообщение #8


Цитата(Scorpion71 @ 10.1.2015, 23:03) *
Alex_RD, спасибо за скрипт, а как можно вручную так прописывать в статье? Просто по способу что ты дал выводит содержание в самом начале статьи, а нужно чтобы после первого абзаца.

Я попробовал - можно выводить с помощью баннеров. Код этот добавляешь как баннер (без fullstory, конечно же), а потом уже код баннера в нужное место в статье. Тогда и можешь сам управлять, куда добавлять, а куда - нет.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Scorpion71
Scorpion71
сообщение 15.1.2015, 15:27; Ответить: Scorpion71
Сообщение #9


Цитата(Demcheg @ 12.1.2015, 14:00) *
Я попробовал - можно выводить с помощью баннеров. Код этот добавляешь как баннер (без fullstory, конечно же), а потом уже код баннера в нужное место в статье. Тогда и можешь сам управлять, куда добавлять, а куда - нет.

Спасибо, это тоже хороший способ, вот только для того что-бы разместить в старых статьях, их надо все редактировать, а это уже геморрой. Поэтому хотелось бы сделать слово "Содержание" невидимым при отсутствии тегов H1-5 в статье.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex_RD
Alex_RD
сообщение 15.1.2015, 15:54; Ответить: Alex_RD
Сообщение #10


Scorpion71,
Оберните код в if с проверкой на наличие h1,h2,h3 , т.е. чтобы получилось так:
поменяйте на

Код
$(document).ready(function(){
if($("#the_content h1, #the_content h2, #the_content h3, #the_content h4, #the_content h5").length){// <-проверка, есть ли h1-h5

$("#the_content p:first").after('<div id="table_of_contents"><div class="toc-title">Содержание</div><ul></ul></div>');
$("#the_content h1, #the_content h2, #the_content h3, #the_content h4, #the_content h5").each(function(i) {
    var current = $(this);
    current.attr("id", "title" + i);
    $("#table_of_contents ul").append("<li class='list-" + current.prop("tagName") + "'><a id='chapter" + i + "' href='#title" +
        i + "' title='" + current.prop("tagName") + "'>" +
        current.html() + "</a></li>");
});

}// Закрываем if

  });


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Куплю статьи с сайтами близкие к бухгалтерии - предлогайте
Сделан сайт по бух услугам, ищу площадки под платное размщение статей
1 areainfo 2573 27.2.2024, 2:29
автор: AndrePro
Открытая тема (нет новых ответов) Готовые статьи различной тематики
от 10р\1000 знаков
3 projectadmin 1613 17.2.2024, 10:58
автор: projectadmin
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97667 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) Готовые статьи по тематике кредитования в РФ
(70 штук) от 10 рублей за статью
0 projectadmin 770 10.2.2024, 12:26
автор: projectadmin
Горячая тема (нет новых ответов) Продаются готовые статьи
рерайт, копирайтинг
128 Slavchac 100213 23.1.2024, 22:49
автор: ArchiDOM


 



RSS Текстовая версия Сейчас: 29.3.2024, 10:59
Дизайн