2013-03-13 5 views
0

Я использую Django-CMS для разработки сайта, как сейчас я должен был создать основную домашнюю страницу с меню, как About Us, Products, Contact Us и т.д.,дизайн URL в Django-CMS

Я имел выполнили все необходимые настройки django и django-cms, активировали раздел администратора и отлично работали.

Я создал Home Page template, содержащий About Us, Products, Contact Us и создал страницу с именем aboutus через Джанго-CMS admin с слизняк about-us.

Теперь я дал, что слизняк about-us, который не что иное, как URL в теге привязки для About Us меню, так что, когда я нажал на ссылку его работает нормально и перенаправлении меня на страницу aboutus с URL в браузере как http://localhost:8080/aboutus.

но проблема в том, когда я снова нажал на aboutus связать его порождающий URL в два раза больше, как http://localhost:8080/aboutus/aboutus, я имею в виду для каждого и каждого клика, слизняк aboutus в добавление к ссылке.

Ниже приведены мои коды

settings.py

TEMPLATE_CONTEXT_PROCESSORS = (
    ....... 
    'cms.context_processors.media', 
    'sekizai.context_processors.sekizai', 
) 
CMS_TEMPLATES = (
    ('home.html', gettext('Home')), 
    ('aboutus.html', gettext("About Us")), 
    ('management_team.html',gettext('Management Team')), 
) 
..... 
.... 

urls.py

from django.conf.urls.defaults import * 
from django.contrib import admin 
from django.conf import settings 

admin.autodiscover() 

urlpatterns = patterns('', 

    url(r'^admin/', include(admin.site.urls)), 
    url(r'^', include('cms.urls')), 
) 

home.html

{% load cms_tags sekizai_tags %} 
{% load staticfiles %} 
{% load staticfiles %} 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>{% block head %}{% endblock %}</title> 
     {% render_block "css" %} 
    </head> 
    <body> 
     {% cms_toolbar %} 
     <div class="submenu"> 
      <a href="about-us">About Company Services</a><br /> 
      <a href="management-team">Our Management Team</a> 
     </div> 
     <a href="about-us" class="menu aboutus">About Us</a></div> 
     {% render_block "js" %} 
    </body> 
</html> 

Так выше мой общий код, в котором home.html отображается домашняя страница с меню как ниже (с использованием некоторых стилей CSS)

About Us 
     About Company Services 
     Our Management Team 

Так что, когда я нажал на на ссылку About Us Производящая URL составляет http://localhost:8000/about-us/, и сразу же, когда мы нажали на About Company Services, генерация url равна http://localhost:8000/about-us/about-us и http://localhost:8000/about-us/about-us/our-management-team/ при нажатии на Our Management Team немедленно. Таким образом, URL-адрес добавляется к предыдущему URL-адресу вместо добавления к domain name.

Я создал все страницы, используя созданные шаблоны из Джанго-К админ, как

Page Name    slug 

    About Us     about-us 
    About Company Services about-us 
    Our Management Team  our-management-team 

Так что случились в приведенной выше коде, почему веб-адреса добавляющей к предыдущему URL-адресам, а не добавляя к домен ?

Как создать childs(About Company Services,Our Management Team) из Джанго-К администратора в parent(About Us)

На самом деле я хочу, чтобы создать две страницы (About Company Services,Our Management Team) под About Us страницы, как мы можем достичь этого в Джанго-К админ

Может кто-нибудь пожалуйста, дайте мне знать концепцию меню в Джанго-СХ, я попробовал и прочитать документацию django-cms many many many times, но не в состоянии понять концепцию menus так подошло SO

+0

Вы сделали ваш вопрос очень сложным , Что именно вы не понимаете с помощью системы меню django-cms? Меню в 'django-cms' отражают ваш макет страницы в admin. Поэтому, если у вас есть две страницы «сервисы компании» и «команда менеджеров», вложенные под общую «о странице», то при визуализации тега шаблона меню с помощью '{% show_menu ...%}' сгенерированный HTML будет отображать этот макет страницы , –

+0

например {% show_menu 0 0%} что такое 0 и o здесь что, если добавлено еще одно? –

+0

в {% show_menu 1 100 100 0%} что это значит? что происходит, когда числа перетасовывают заказ? (На самом деле все они упоминаются в документах, но неспособны к техническим словам точно.) –

ответ

3

Если это ваш макет страницы в разделе администратора (/admin/cms/page):

- Home (level=0) 
    - About Us (level=1) 
     - About Company Services (level=2) 
      - Foo Bar (level=3) 
     - Our Management Team (level=2) 
    - Some Other Section (level=1) 
     - Some Sub Section (level=2) 
    - ... 

При печати {% show_menu A B C D %} вы рендеринга в ul меню, где A, B, C & D являются числами, которые задают конфигурацию меню.

A = Start 
B = End 
C = Inactive 
D = Active 

Так {% show_menu 1 2 0 100 %}

  • A=1 означает начать навигацию на уровне 1, то есть за исключением Home, который уровень 0
  • B=2 средства визуализации навигации вплоть до 2-го уровня, то есть за исключением Foo Bar
  • C=0 означает, что для неактивных троп покажет 0 уровней. Так что, если мы в настоящее время на About Us странице, мы не будем видеть любые ссылки в меню ниже Some Other Section (как это неактивный трасса), но мы еще увидим About Company... и Out Management... (как это активный след)
  • D=100 средства что для активного следа, показывает, до 100 уровней (именно поэтому мы видим About Company... и Our Management упоминались выше)

Так результат:

- About Us (level=1) 
    - About Company Services (level=2) 
    - Our Management Team (level=2) 
- Some Other Section (level=1) 
+0

Большое спасибо thats действительно полезное объяснение ... Также означает, что в моем выше html-коде, который я вставил в альтернативный URL-адрес, нет необходимости объявлять полноценный HTML-код для тегов? –

+0

Где это задокументировано? Неужели я не могу найти документы? –

1

используйте тег шаблона {% show_menu%} для рендеринга меню. Обязательно ознакомьтесь с документацией.

+0

На самом деле, как я упоминал выше, я много раз читал документы, но я не мог понять использование, так что, наконец, подошел SO, вы можете добавить код примера тега меню к моему выше html-коду, чтобы я мог узнать его практически, уже я потратил впустую 2 дня только из-за этого ...... –

+0

В admin (cms -> pages) переупорядочивает (перетаскивает) страницы, чтобы они были дочерними элементами about_us. – digi604

+0

затем используйте следующий код:

digi604

Смежные вопросы