Php mediawiki中的树结构侧栏

Php mediawiki中的树结构侧栏,php,mediawiki,wikipedia,Php,Mediawiki,Wikipedia,我已经完成了我的mediawiki边栏,如下所示 *product1 **Welcome **Introduction **User Guide *product2 **Welcome **Introduction **User Guide 我已经使用向量扩展完成了这项工作,但我的要求是有这样一个3模型层次结构 *Product1 **Welcome ***Welcome1 ***Welcome2 ***Welcome3 **Introduction ***

我已经完成了我的mediawiki边栏,如下所示

*product1
**Welcome
**Introduction
**User Guide

*product2
**Welcome
**Introduction
**User Guide
我已经使用向量扩展完成了这项工作,但我的要求是有这样一个3模型层次结构

*Product1
**Welcome
    ***Welcome1
    ***Welcome2
    ***Welcome3
 **Introduction
    ***Introduction1
    ***Introduction2
    ***Introduction3
 **User guide
    ***User guide1
    ***User guide2
    ***User guide3
该产品将有3个子链接,如欢迎、介绍、用户指南、,
Welcome将有Welcome1,WElcome2,Welcome,我想把它作为侧边栏中的第三个层次,不可能有现成的第三个层次。为此,您需要使用自定义蒙皮或创建扩展


如果你知道一些PHP,你可以尝试使用钩子来呈现你想要的边栏。

不可能有现成的第三级。为此,您需要使用自定义蒙皮或创建扩展


如果你知道一些PHP,你可以尝试使用钩子来呈现你想要的边栏。

添加到
LocalSettings.PHP

$wgHooks['SkinBuildSidebar'][] = "fnSidebarMultiLevel";
function fnSidebarMultiLevel(Skin $skin, &$bar) {

  global $wgOut;

  $sPanel = "* Product1
** Welcome
*** Welcome1
*** Welcome2
*** Welcome3";

  $bar = array("Nav" => $wgOut->parse($sPanel)) + $bar;

}

将在1.14及以上版本中工作。

添加到
LocalSettings.php

$wgHooks['SkinBuildSidebar'][] = "fnSidebarMultiLevel";
function fnSidebarMultiLevel(Skin $skin, &$bar) {

  global $wgOut;

  $sPanel = "* Product1
** Welcome
*** Welcome1
*** Welcome2
*** Welcome3";

  $bar = array("Nav" => $wgOut->parse($sPanel)) + $bar;

}

将在版本1.14及以上版本中工作。

我也遇到了同样的问题,我在想,我可以在页面中使用三个级别的树结构吗?我不想要目录,有没有扩展来做这件事?我也在处理同样的问题,我在想,我能在页面内有三层的树状结构吗?我不想要目录,有任何扩展可以这样做吗?谢谢你的黑客,但它有一些问题:1。如果按相反顺序连接:
$bar+array(“Nav”=>$wgOut->parse($sPanel))
将显示一个“Nav”标题;2.文本对未经身份验证的用户也是可见的;3.文本样式太糟糕了。@paul1。怎么了?2.如预期3。与问题无关。
怎么了?
:1。原始顺序和反向顺序的行为不同。不知道如何在第一种情况下显示“导航”标题,在第二种情况下隐藏它;2.如果我想用西里尔语显示除“Nav”以外的其他标题,我不知道该怎么做。3.我不仅要展示文本,还要使其易懂、美观和实用(即,如果有视觉上可折叠/展开的级别,则折叠/展开应该真正起作用)。看来我必须使用一些插件。@paul1。你可以用css或JS2隐藏它。您需要在UTF-8中保存
LocalSettings.php
,不带BOM。感谢您的帮助,但它有一些问题:1。如果按相反顺序连接:
$bar+array(“Nav”=>$wgOut->parse($sPanel))
将显示一个“Nav”标题;2.文本对未经身份验证的用户也是可见的;3.文本样式太糟糕了。@paul1。怎么了?2.如预期3。与问题无关。
怎么了?
:1。原始顺序和反向顺序的行为不同。不知道如何在第一种情况下显示“导航”标题,在第二种情况下隐藏它;2.如果我想用西里尔语显示除“Nav”以外的其他标题,我不知道该怎么做。3.我不仅要展示文本,还要使其易懂、美观和实用(即,如果有视觉上可折叠/展开的级别,则折叠/展开应该真正起作用)。看来我必须使用一些插件。@paul1。你可以用css或JS2隐藏它。您需要在不带BOM的UTF-8中保存
LocalSettings.php