坚持在Zend框架中尝试css mega菜单

时间:2010-10-27 17:00:35

标签: php css zend-framework

我正在关注zendcast的

Zend_Navigation - 创建一个菜单,一个站点地图和面包屑截屏,我想用他所谓的纯“Mega菜单”替换他所拥有的菜单。屏幕强制转换使用像这样的xml文件

                          家             /

        <pages>
            <report>
                <label>Reports</label>
                <uri>/report</uri>
                <report_sub>
                    <label>Reports</label>
                    <uri>/report</uri>
                </report_sub>
            </report>
            <setup>
                <label>System Setup</label>
                <uri>/systemsetup</uri>
            </setup>
            <managestaff>
                <label>Manage Groups</label>
                <uri>/groups/save</uri>
            </managestaff>
            <logout>
                <label>Logout</label>
                <uri>/authentication/logout</uri>
            </logout>
        </pages>
    </home>
</nav>

如何使用css格式化上述内容,以便在zend框架中创建类似效果的Mega菜单?

3 个答案:

答案 0 :(得分:2)

我想我已经弄明白了,即xnd文件中的菜单被读取并由zend转换为<ul>,我通过查看页面的来源找到了。因此我只需要定义所有菜单和子菜单然后zend将为我创建ul,这样我就可以定位<ul><li>,就好像菜单最初是直接创建的一样<ul>。我会尝试这个并回发。

答案 1 :(得分:1)

我运行的大多数超级菜单都使用嵌套的<UL>列表来创建标记。因此,您必须遍历此XML并将其转换为适当的<UL>列表才能进行导航。

在您的示例中,它必须看起来像这样(assuming you used Soh Tanaka's outstanding Mega Menu):

<ul>
   <li>Reports</li>
      <div class="sub">
         <ul>
            <li>Reports</li>
         </ul>
      </div>
   <li>System Setup</li>
   <li>Manage Groups</li>
   ...
</ul>

答案 2 :(得分:1)

我已经尝试过使用zend强制转换方式来创建一个巨型菜单,但是我很难将类名添加到Zend_Navigation生成的列表元素中,即我需要添加菜单和子菜单的不同类名,所以最后我只使用普通HTML和一些div来创建Layout.phtml中菜单的结构,从而让我自由添加任意名称的类,它适用于我。如果有人有其他方式,我很乐意听到它。