QuickApps CMS和主题菜单更改

时间:2014-06-11 22:11:48

标签: php cakephp menu themes quickapps-cms

我正在尝试为QuickApps CMS创建一个新主题。当我试图回应时:

<?php echo $this->Block->region('user-menu'); ?>

要在新主题布局中呈现用户菜单,它会做两件事:

  1. 打印出名为“用户菜单”的菜单的标题 默认主题它不打印此标题。

  2. 此外,它会打印不同的HTML,如下所示

  3. 我的新主题输出

    <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结构,包括样式类名。

1 个答案:

答案 0 :(得分:2)

如果您需要自定义输出,您的主题可以实现“theme_block”视图元素, 它将在渲染每个块时使用。

在这里您可以看到“默认主题”实现:

https://github.com/QuickAppsCMS/QuickApps-CMS/blob/1.1/QuickApps/View/Themed/Default/Elements/theme_block.ctp

QuickApps在渲染时使用一系列视图元素,如果您的主题未实现任何此核心元素,则默认使用。在这里,您可以看到主题可能实现的元素列表:

https://github.com/QuickAppsCMS/QuickApps-CMS-Docs/blob/1.x/eng/designers/themes.md#rendering-elements

祝你好运! /克里斯


PS:顺便说一下,v2.0会有很大的变化,敬请期待。例如块和&amp;区域现在是对象,你现在可以做很好的事情,例如:

$this->region('main-menu')
    ->merge($this->region('other-region'))
    ->blockLimit(5);