我需要创建一个菜单,出于移动目的,在级别2的所有条目之前应添加级别1的标题。示例:我的结构如下:
现在我希望我的导航看起来像这样:
class gamelog(threading.Thread):
def __init__(self, threadname):
self.threadname = threadname
thread = threadname + ": "
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = 9999
serversocket.bind((host, port))
serversocket.listen(1)
server_function = "Here you can track what you've achieved :) \r\n"
print(server_function)
while True:
clientsocket,addr = serversocket.accept()
def recieve():
y = clientsocket.recv(1024)
y = y.decode('ascii')
print(thread + y)
clientsocket.close()
recieve()
thread1 = gamelog("Game 1")
thread2 = gamelog("Game 2")
thread1.start()
thread2.start()
因此,我需要在级别2中获得级别1的标题。如何访问字段:nav_title作为父元素?
我的打字稿看起来像这样:
<ul>
<li>
<a>Team</a>
<div class="dropdown-menu">
<ul>
<li>Team</li>
<li><a>Max</a></li>
<li><a>Sepp</a></li>
</ul>
</div>
</li>
<li>
<a>Projects</a>
<div class="dropdown-menu">
<ul>
<li>Projects</li>
<li><a>Project 1</a></li>
<li><a>Project 2</a></li>
</ul>
</div>
</li>
</ul>
我用LOAD_REGISTER尝试过,但这没用。有什么建议么?
答案 0 :(得分:1)
您想要的是TYPO3菜单的默认行为。您只需要设置正确的包装即可。在其所属的地方进行包装:
temp.menu = HMENU
temp.menu {
1 = TMENU
1 {
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
}
// as you have no specific wrapping all levels can be generated the same:
2 < .1
3 < .2
}
如果要在每个级别上使用特定的包装,则可以在复制后对其进行调整(在此示例中,您可以看到包装的来源)
temp.menu = HMENU
temp.menu {
1 = TMENU
1 {
wrap = <ul class="level1">|</ul>
NO = 1
NO {
wrapItemAndSub = <li class="lev1">|</li>
}
}
2 < .1
2 {
wrap = <ul class="level2">|</ul>
NO.wrapItemAndSub = <li class="lev2">|</li>
}
3 < .2
3 {
wrap = <ul class="level3">|</ul>
NO.wrapItemAndSub = <li class="lev3">|</li>
}
}
。
编辑:问题明确后:
在菜单中使用LOADREGISTER会导致混乱,因为菜单项不是内联递归生成的。
如果要重复菜单项,则应就地生成菜单项。
因此,您需要分开干净的包装纸,并使用增强的soem菜单魔术。
temp.menu = HMENU
temp.menu {
1 = TMENU
1 {
wrap = <ul class="level1">|</ul>
NO = 1
NO.wrapItemAndSub = <li>|</li>
// only for menuitems which contains further pages:
IFSUB < .NO
IFSUB {
// beginning the part of the submenu
after.cObject = TEXT
after.cObject {
field = nav_title // title
wrap = <div class="dropdown-menu"><ul><li>|</li>
}
}
}
2 < .1
2 {
// no beginning in wrap needed as it is done at level 1
wrap = |</ul></div>
}
}
更多级别需要进一步处理。例如:2.IFSUB >
和3.wrap = <ul>|</ul>
注意:如果要使用带有缩进的干净html,则需要在印刷文字中使用.noTrimWrap
和多行值。