【问题标题】:How to show Next & Previous page links in Django-CMS如何在 Django-CMS 中显示下一页和上一页链接
【发布时间】:2011-04-18 17:00:23
【问题描述】:

我们有一个使用 Django-CMS 构建的网站,并开发了一个带有替代 CSS 的移动版本,以适应较小的查看区域。除了通常的导航栏,我们还希望在每个页面的底部包含下一页和上一页链接。

我知道如何使用此代码输出当前页面的兄弟:

{% show_menu current_page.level %}

将链接输出到下一页和上一页的最简单方法是什么?

【问题讨论】:

  • 大概?是的。你总是可以假设这样的事情。不是一个很好的问题。 “使用Django框架的好方法吗?”是一个更好的问题。 “这将使用什么样的代码?”将是一个更好的问题。也许您可能想更新您的问题以具体确定您想知道的内容。

标签: django-cms


【解决方案1】:

您可以在模板中使用{{ request.current_page.get_next_sibling }}{{ request.current_page.get_previous_sibling }} 来显示“邻居”页面(不是那个或b

【讨论】:

  • 效果很好,我已经使用 {% page_url %} 来获取 URL,如下所示:«上一页
  • 如何限制只获取下一个/上一个发布的页面?
【解决方案2】:

您可以使用 get_next_filtered_siblingget_previous_filtered_sibling 方法 - 但可能仅适用于较新版本的 django cms。

这里有两个模板标签,它们返回页面对象,您可能希望将它们输入{% page_url ... %} 模板标签。

@register.assignment_tag(takes_context=True)
def get_next_page(context):
    current_page = context['request'].current_page
    return current_page.get_next_filtered_sibling(
        publisher_is_draft=False
    )

@register.assignment_tag(takes_context=True)
def get_prev_page(context):
    current_page = context['request'].current_page
    return current_page.get_previous_filtered_sibling(
        publisher_is_draft=False
    )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多