【问题标题】:Developing django-cms dropdown menus开发 django-cms 下拉菜单
【发布时间】:2017-04-13 21:29:16
【问题描述】:

我是 django 和 django-cms 的新手。我阅读了官方文档并试图在互联网上找到任何其他信息,这可以指导我在 django cms 中制作下拉菜单。但对我来说不幸的是,官方文档真的很原始(我完全不明白菜单是什么),而且在互联网上没有什么足够明智的。

请向我解释或提供有关此主题的分步指南。

此时菜单正在运行,我拥有的唯一代码是一对<ul> 和其中的{% show_menu 0 100 100 100 %}

【问题讨论】:

  • show_menu 标签将创建一个页面列表,它后面的数字告诉它您希望在其中显示页面树的哪些部分。你到底需要什么?我建议您更改页面结构以查看菜单如何更改,然后更改 show_menu 标记中的数字以查看更改情况。

标签: django drop-down-menu dropdown django-cms


【解决方案1】:

让下拉菜单在 django-cms 中工作的最简单方法是遵循以下步骤: (在这个例子中,我在菜单中使用了 Bootstrap 代码)

  1. 在您的 base.html 文件(或您正在使用的任何其他名称)中,使用这种方式显示您的菜单 {% show_menu 0 10 10 10 %} 例如,这是我在 base.html 的代码中用来呈现菜单的内容:

    <ul>
        {% show_menu 0 10 10 10 "menu/custom-menu.html" %}
    </ul>
    
  2. 现在在目录“/templates/menu/custom-menu.html”中使用这些 sekizai 标记和类似的 html 代码创建模板,这些代码将覆盖您的 base.html 并使用下拉元素呈现您的菜单:

    <div class="dropdown">
        {% for child in children %}
    <!-- no child pages  -->
            {% if child.is_leaf_node %}
                <li><a href="{{ child.get_absolute_url }}">{{child.get_menu_title }}</a></li>
            {% endif %}
    <!-- /no child pages  -->
    <!-- has child pages  -->
            {% if not child.is_leaf_node or child.ancestor %}
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                    {{child.get_menu_title }}<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        {% if child.get_descendants %}
                            {% for kid in child.get_descendants %}
                                <li>
                                    <a href="{{ kid.get_absolute_url }}">
                                        {{kid.get_menu_title }}
                                    </a>
                                </li>
                            {% endfor %}
                        {% endif %}
                    </ul>
                </li>
            {% endif %}
    <!-- /has child pages  -->
        {% endfor %} 
    <!-- /end for child -->
    </div>
    
  3. 别忘了将{% load menu_tags %} sekizai 标签放在您的custom-menu.html 文件的顶部。

【讨论】:

    猜你喜欢
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2012-03-30
    • 2020-03-29
    • 2020-04-30
    • 1970-01-01
    相关资源
    最近更新 更多