Главная форума с вкладками (Tabbed ForumHome) - 4.1.2
Автор: Cybermama [
тема автора]
Организует вид главной страницы форума в виде табов по категориям
Схож по результату с этим хаком Tabbed Forumhome, но реализован по-другому и имеет основное преимущество в том, что не препятствует выполнению различных аякс-фишек, в частности отметке о прочитанном двойным кликом и т.п. А так же - в отличие от того хака - выбранная вкладка остаётся выделенной.
Проверено на версии 4.1.2 - как с более старыми - не знаю.
Установка :
- 1. Если был установлен аналог - удалить его
- 2. Импортировать продукт
- 3. Дабы не забыть что такое ручные правки выполнить следующие действия:
Нажми для просмотра
Отредактировать шаблон
FORUMHOME , найти :
PHP код:
{vb:raw headinclude_bottom}
Добавить перед:
PHP код:
<vb:if condition="$vboptions['cm_fhtabs_onoff']">
<script type="text/javascript">
<!--
function getParentElement(starterElement, classPattern, testTagName) {
//
var currElement = starterElement;
var foundElement = null;
while(!foundElement && (currElement = currElement.parentNode)) {
if ((classPattern && (currElement.className.indexOf(classPattern) != -1)) || (testTagName && (testTagName.toLowerCase() == currElement.tagName.toLowerCase())))
{
foundElement = currElement;
}
}
//go up the parentNode tree until found element with matching className
return foundElement;
}
//getParentElement
function tabViewPicker(anchorObject) {
//
var clickedTabId = null;
var tabtree = getParentElement(anchorObject,"cybermamasfhtabs");
var anchorInventory = tabtree.getElementsByTagName("a");
var tabIds = [];
for (var i=0; (currAnchor = anchorInventory[i]); i++) {
//
var anchorId = currAnchor.href.substring(currAnchor.href.indexOf("#") + 1, currAnchor.href.length);
var parentDd = getParentElement(currAnchor,null,"dd");
if (currAnchor == anchorObject) {
clickedTabId = anchorId;
parentDd.className = "ftab_module";
} else {
parentDd.className = "ftab_moduleinactive";
}
tabIds.push(anchorId);
}
//loop thru anchors to gather all tab IDs and set appropriate selected status
for (var j=0; (currTabId = tabIds[j]); j++) {
//
var elem = document.getElementById("cat" + currTabId);
if (!elem) {continue;}
if (currTabId == clickedTabId) {
YAHOO.util.Dom.replaceClass(elem, "fth_view", "fth_view_selected");
} else {
YAHOO.util.Dom.replaceClass(elem, "fth_view_selected", "fth_view");
}
}
return false;
}
//-->
</script>
</vb:if>
Найти
<!-- end what's going on box -->
добавить после:
PHP код:
<vb:if condition="$vboptions['cm_fhtabs_onoff']">
<script type="text/javascript">
<!--
var inittabid="tab-"+{vb:raw firsttab};
tabViewPicker(document.getElementById(inittabid));
-->
</script>
</vb:if>
В
forumhome.css добавить:
PHP код:
.fth_view {
display:none;
}
.fth_view_selected{
display:block;
}
#cybermamas_tabs a,#cybermamas_tabs a:hover{height:25px;display:inline;background-color:transparent;margin:0px;padding:0px;text-align:center;border:none}
.floatleft{float:left}
dl.cybermamasfhtabs{margin-top:10px;margin-bottom:0;border-bottom:none}
dd.ftab_module,dd.ftab_moduleinactive{
text-align:center;
padding-left:10px;
padding-right:10px;
float:left;
height:22px;
min-width:65;
display:inline;
margin-left:-1;
margin-bottom:-1;
border-radius-topleft:10px;
-moz-border-radius-topleft:10px;
-moz-border-radius-topright:10px;
-webkit-border-top-left-radius:10px;
-khtml-border-top-left-radius:10px;
border-top-left-radius:10px;
-webkit-border-top-right-radius:10px;
-khtml-border-top-right-radius:10px;
border-top-right-radius:10px;
border-style:solid;
border-width:1px 1px 0px 1px ;
border-color:inherit;}
dd.ftab_module{
background-color:#a6ebfb;
}
dd.ftab_module a,dd.ftab_moduleinactive a{font-weight:bold;font-size:12px;color:#000}
4. - Настроить css по вкусу и не забыть включить хак в настройках.
Скачать хак Tabbed ForumHome