我正在尝试为QuickApps CMS创建一个新主题。当我试图回应时:
<?php echo $this->Block->region('user-menu'); ?>
要在新主题布局中呈现用户菜单,它会做两件事:
打印出名为“用户菜单”的菜单的标题 默认主题它不打印此标题。
此外,它会打印不同的HTML,如下所示
我的新主题输出
<div id="qa-block-5" class="qa-block qa-block-unique qa-block-menu">
<div id="block_5" class="block block-Menu delta-user-menu ">
<h2> User Menu </h2>
<div class="content">
<ul>
<li id="menu-item-22" class="first-item menu-item-22"><a href="/4test/quick-apps/user/my_account" target="_self"><span>My account</span></a> </li>
<li id="menu-item-23" class="last-item menu-item-23"><a href="/4test/quick-apps/user/logout" target="_self"><span>Logout</span></a> </li>
</ul>
</div>
</div>
</div>
默认主题输出
<div id="user-menu">
<div id="qa-block-5" class="qa-block qa-block-unique qa-block-menu">
<ul>
<li id="menu-item-22" class="first-item menu-item-22"><a href="/4test/quick-apps/user/my_account" target="_self"><span>My account</span></a> </li>
<li id="menu-item-23" class="last-item menu-item-23"><a href="/4test/quick-apps/user/logout" target="_self"><span>Logout</span></a> </li>
</ul>
</div> </div>
我试图找到处理此HTML的任何元素,但我找不到。我需要知道的是如何根据我的新主题更改菜单的输出?即改变其HTML结构,包括样式类名。
答案 0 :(得分:2)
如果您需要自定义输出,您的主题可以实现“theme_block”视图元素, 它将在渲染每个块时使用。
在这里您可以看到“默认主题”实现:
QuickApps在渲染时使用一系列视图元素,如果您的主题未实现任何此核心元素,则默认使用。在这里,您可以看到主题可能实现的元素列表:
祝你好运! /克里斯
$this->region('main-menu')
->merge($this->region('other-region'))
->blockLimit(5);