На текущий момент есть всего пара скриптов (2 из них актуальных), расширяющие функционал до возможности видеть категории и подфорумы (если доступно) в строке навигации.
Подфорумы "не скриптом" (Новая версия), к сожалению весьма глючная и тяжёлая весчь, когда нужно использовать лишь функционал хлебных крошек (подробнее - у меня просто перестало работать ни с того ни с сего).
Кликабельность категорий - NEW EDITION
То что нужно. Не смотря на то что он основан на предыдущем рассмотренном скрипте - он работает и в нём нет ничего лишнего. Но есть и минус, на странице поиска не отображаются категории.
Поэтому я решил попробовать совместить сие творения в один идеальный скрипт. Разумеется, не без вопросов.
Код:(function() { var st00 = '<style>#pun-index #pun-category',st02 = '.category{display:block!important;}</style>'; var a = document.URL, b = a.replace('http://'+location.hostname+'/=&pun-category',''); if (a != b) { $('#Hidecategor').after(st00 + b + st02); } else $('#Hidecategor').replaceWith(''); $(document).ready(function() { var c = '<a href="http://'+location.hostname+'/=&'; $('.category').each(function() { var L = $(this).attr('id'), L1 = $(this).find('h2 span:not(.offctgr):not(.Show-Hide)'), Ltxt = L1.text(); L1.html(c+L+'" style="color:'+L1.css('color')+';">'+Ltxt+'</a>'); }); if(document.URL.indexOf('=&pun-category')!=-1){ var CtgrID = document.URL.split('pun-category')[1];//alert(CtgrID); var CtgrTitle = $('.category[id$="pun-category'+CtgrID+'"]').find('h2 a').text(); document.title = CtgrTitle; $('p.container.crumbs span').wrap('<a class="forum_lnk" href="http://'+location.hostname+'"></a>'); $('p.container.crumbs a.forum_lnk').after(' » <span>'+CtgrTitle+'</span>'); $('.category[id$="pun-category'+CtgrID+'"]').find('h2 > span:not(.offctgr):not(.Show-Hide)').html(CtgrTitle); $('.category').find('.Show-Hide, .offctgr').remove(); $('#pun-stats.section').remove(); }; }); var IndexLnk = $('link[rel="top"]').attr('href'); if($('#pun-viewforum').length){ $.get(IndexLnk, function(data) { var thisFID = $('link[rel="alternate"]').attr('href').split('id=')[1]; $(data).find('a[href$="viewforum.php?id='+thisFID+'"]').parents('.category').each(function(){ var CtgrName = $(this).find('h2 > span').text(); var ThisCtgrID = $(this).attr('id'); $(document).ready(function() { $('#pun-crumbs1 p.container.crumbs a:first, #pun-crumbs2 .container.crumbs a:first').after(' » <a href="http://'+location.hostname+'/=&'+ThisCtgrID+'">'+CtgrName+'</a>'); }); }); }); } if($('#pun-viewtopic, #pun-post, #pun-delete, #pun-edit, #pun-movetopic, #pun-multidelete, #pun-multimove, #pun-multimegre').length){ $.get(IndexLnk, function(data) { $(function(){ var topic_FID = $('#pun-crumbs1 a[href*="viewforum."]').attr('href').split('id=')[1]; $(data).find('a[href$="viewforum.php?id='+topic_FID+'"]').parents('.category').each(function(){ var CtgrName = $(this).find('h2 > span').text(); var ThisCtgrID = $(this).attr('id'); $('#pun-crumbs1 p.container.crumbs a:first, #pun-crumbs2 .container.crumbs a:first').after(' » <a href="http://'+location.hostname+'/=&'+ThisCtgrID+'">'+CtgrName+'</a>'); }); }); }); } if($('#pun-searchposts').length){ $.get(IndexLnk, function(data) { $(function(){ var search_FID = $('.post a[href*="viewforum."]').attr('href').split('id=')[1]; $(data).find('a[href$="viewforum.php?id='+search_FID+'"]').parents('.category').each(function(){ var CtgrName = $(this).find('h2 > span').text(); var ThisCtgrID = $(this).attr('id'); $('.post h3 a:first').before('<a href="http://'+location.hostname+'/=&'+ThisCtgrID+'">'+CtgrName+'</a> » '); }); }); }); } }())
Код:if($('#pun-searchposts').length){ $.get(IndexLnk, function(data) { $(function(){ var search_FID = $('.post a[href*="viewforum."]').attr('href').split('id=')[1]; $(data).find('a[href$="viewforum.php?id='+search_FID+'"]').parents('.category').each(function(){ var CtgrName = $(this).find('h2 > span').text(); var ThisCtgrID = $(this).attr('id'); $('.post h3 a:first').before('<a href="http://'+location.hostname+'/=&'+ThisCtgrID+'">'+CtgrName+'</a> » '); }); }); }); }
1) Самый важный - почему он запоминает лишь первый попавшийся форум (т.е. если попалась первая категория, вторую и третью он уже не покажет, только первую).2) Отсюда же получается и второй вопрос. Как сделать чтобы категория вставлялась лишь один раз в самом начале? Он её тупо копирует на каждую ссылку, если я не скажу ему :first, что тоже плохо, ибо так я ограничиваюсь до одного элемента (читай первого сообщения).
А в остальном всё работает отлично. Я добавил кучу селекторов для других страниц, чтобы хлебные крошки отображались везде.
Посмотреть можно тут: http://pony.forum.wtf/search.php?action … 2%E8%F2%FC
Либо тут, в поиск ввести слово ТЕСТ.
Если найду решение, обязательно здесь напишу новым сообщением.
Отредактировано Неспетый (Чт, 21 Сен 2017 23:05:37)