我想將頁面頂部的菜單項重定向到我正在寫的指向他們的孩子的頂部菜單項,如果他們有任何。例如。這個網站有一個關於頂級的網站,下面有幾個CMS網頁。當用戶點擊左右時,我想在頂層菜單下顯示第一個子頁面。django-cms將頂級菜單重定向到第一個孩子
我可以像下面這樣做,但感覺不對。我知道我可以做一個靜態重定向,但我不想這樣做,因爲第一個孩子可能會改變(畢竟它是一個CMS系統),我不希望輸入數據的人進入CMS必須管理重定向。所以我更喜歡下面的配置重定向。
這是一個相當普遍的要求,有沒有這樣做的標準方法?我想我可以用navigation modifier做到這一點,所以我可能會嘗試下一個路線。
<div style="display:none;">{% show_menu 0 1 1 %}</div>
<div id="topmenu">
<ul>
{% for child in children %}
<li>
{% if child.children %}
<a href="{{child.children.0.get_absolute_url}}">
{% else %}
<a href="{{child.get_absolute_url}}">
{% endif %}
{{ child.get_menu_title }}
</a>
</li>
{% endfor %}
</ul>
</div>
關於上述問題,我需要在那裏有show_menu,否則數據不存在我的自定義菜單。有沒有什麼辦法可以解決這個問題?
我最不喜歡上述內容的是,/ about /頁仍處於活動狀態。如果有人在那裏瀏覽,這不是世界上最糟糕的事情,他們會得到一個空白的頁面,但我寧願這不會發生。我想如果我寫了一個導航擴展,那麼同樣的缺點就在那裏。我想我需要一個編程重定向來重定向到第一個孩子,如果該網頁被擊中。思考?我可以用模板邏輯來做,但這看起來很瘋狂。
有你發現導航修飾符的解決方案?至於django-cms 3.0,似乎還沒有好的解決方案,除了我下面提出的小小的黑客... – benzkji 2014-10-14 13:48:31
@benzkji不是真的,我們通常只是在頂層頁面上設置重定向,我認爲你的小黑客是與任何解決方案 – 2014-10-15 07:44:56
一樣好。每當第一個孩子的網址發生變化時,我的黑客就可以讓你免於重定向值。根據情況,這可能是一個真正的好處。 – benzkji 2014-10-16 07:49:48