menu, breadcrumb, people, newsblog, layout
master
fefa4ka 11 years ago
parent 20657f89ab
commit 2108b640c1
  1. BIN
      zsite/locale/ru/LC_MESSAGES/django.mo
  2. 23
      zsite/locale/ru/LC_MESSAGES/django.po
  3. 19
      zsite/menu.py
  4. 2
      zsite/settings.py
  5. 68
      zsite/static/less/footer.less
  6. 105
      zsite/static/less/header.less
  7. 198
      zsite/static/less/main.less
  8. 12
      zsite/static/less/people.less
  9. 61
      zsite/static/less/sub_content.less
  10. 28
      zsite/static/less/variables.less
  11. 19
      zsite/templates/aldryn_newsblog/article_list.html
  12. 8
      zsite/templates/aldryn_newsblog/base.html
  13. 72
      zsite/templates/aldryn_newsblog/includes/article.html
  14. 16
      zsite/templates/aldryn_newsblog/two_column.html
  15. 5
      zsite/templates/aldryn_people/includes/breadcrumb.html
  16. 27
      zsite/templates/aldryn_people/includes/people_item.html
  17. 7
      zsite/templates/aldryn_people/includes/people_items.html
  18. 18
      zsite/templates/aldryn_people/person_detail.html
  19. 5
      zsite/templates/aldryn_people/plugins/standard/people_list.html
  20. 2
      zsite/templates/base.html
  21. 7
      zsite/templates/menu.html
  22. 9
      zsite/templates/menu/breadcrumb.html
  23. 2
      zsite/templates/menu/sub_menu_title.html
  24. 8
      zsite/templates/sub_section.html

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.10\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-07-06 20:55+0300\n"
"POT-Creation-Date: 2015-07-07 14:18+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Alexander Kondratev <alex@nder.so>\n"
"Language-Team: Zuykov and partners\n"
@ -19,31 +19,25 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: zsite/templates/aldryn_people/includes/people_item.html:4
msgctxt "employee name"
msgid "Sergey Zuykov"
msgstr "Сергей Зуйков"
#: zsite/templates/aldryn_people/includes/people_item.html:12
#: zsite/templates/aldryn_people/plugins/standart/people_list.html:13
#: zsite/templates/aldryn_people/includes/people_item.html:11
msgid "Phone:"
msgstr "Телефон:"
#: zsite/templates/aldryn_people/includes/people_item.html:13
#: zsite/templates/aldryn_people/includes/people_item.html:12
msgid "Mobile:"
msgstr "Мобильный телефон6"
#: zsite/templates/aldryn_people/includes/people_item.html:14
#: zsite/templates/aldryn_people/includes/people_item.html:13
msgid "E-Mail:"
msgstr "Электропочта:"
#: zsite/templates/aldryn_people/includes/people_item.html:15
#: zsite/templates/aldryn_people/includes/people_item.html:14
msgid "Download vCard"
msgstr "Скачать vCard"
#: zsite/templates/aldryn_people/plugins/standart/people_list.html:14
msgid "Address:"
msgstr "Адрес:"
#: zsite/templates/aldryn_people/plugins/standard/people_list.html:4
msgid "Our Team"
msgstr "Наши сотрудники"
#: zsite/templates/base.html:24
msgid "Protection of intellectual property"
@ -88,3 +82,4 @@ msgstr "Москва, Россия, 129090"
#: zsite/templates/language_chooser.html:6
msgid "Change to language:"
msgstr "Изменить язык на:"

@ -0,0 +1,19 @@
from menus.base import Menu, NavigationNode
from menus.menu_pool import menu_pool
from django.utils.translation import ugettext_lazy as _
# class TestMenu(Menu):
# def get_nodes(self, request):
# nodes = []
# n = NavigationNode(_('sample root page'), "/", 1)
# n2 = NavigationNode(_('sample settings page'), "/bye/", 2)
# n3 = NavigationNode(_('sample account page'), "/hello/", 3)
# n4 = NavigationNode(_('sample my profile page'), "/hello/world/", 4, 3)
# nodes.append(n)
# nodes.append(n2)
# nodes.append(n3)
# nodes.append(n4)
# return nodes
# menu_pool.register_menu(TestMenu)

@ -103,7 +103,7 @@ PIPELINE_JS = {
PIPELINE_CSS = {
'main': {
'source_filenames': (
'less/*.less',
'less/main.less',
),
'output_filename': 'css/main.css',
}

@ -0,0 +1,68 @@
footer {
.make-row();
margin-top: 10px;
margin-bottom: 5px;
opacity: 0.5;
font-size: 12px;
.background-line-pattern {
opacity: 0.13;
}
a {
color: #000000;
text-decoration: underline;
}
li.active {
a {
text-decoration: none;
}
}
.about {
.make-xs-column(2);
margin-top: -10px;
.copyright {
margin-top: 5px;
opacity: 0.7;
}
ul {
margin-top: 16px;
li {
line-height: 20px;
}
}
}
.menu {
.make-xs-column(4);
h5 {
margin-top: 6px;
margin-bottom: 18px;
}
li {
line-height: 20px;
}
}
.contacts {
.make-xs-column(2);
margin-top: 39px;
li {
margin-bottom: 10px;
}
}
}

@ -0,0 +1,105 @@
.wrapper {
.make-row();
margin-top: 10px;
margin-bottom: -10px;
}
.header-logo {
.make-lg-column(8);
.make-md-column(8);
.make-sm-column(6);
.make-xs-column(6);
.slogan {
position: absolute;
top: 58px;
left: 176px;
width: 160px;
opacity: 0.5;
line-height: 17px;
}
}
.header-contacts {
.make-lg-column(4);
.make-md-column(4);
.make-sm-column(6);
.make-xs-column(6);
text-align: right;
margin-top: -4px;
ul {
margin-right: -5px;
margin-bottom: 0;
}
p {
margin: 0;
}
}
.consultation {
h5 {
opacity: 0.5;
margin-bottom: 3px;
margin-top: 0;
}
h3 {
margin: 0;
}
button {
margin-bottom: 5px;
margin-right: -5px;
}
}
.logo {
height: 100px;
}
.header-menu-font {
font-family: @font-family-monospace;
}
.header-menu {
font-size: 16px;
li {
margin-top: 1px;
font-weight: 400;
@media (min-width: @screen-md-min) {
margin-right: 22px;
}
@media (min-width: @screen-lg-min) {
margin-right: 50px;
}
a {
text-decoration: underline;
}
}
li.active {
font-weight: 700;
a {
color: #000000;
text-decoration: none;
}
}
}

@ -1,104 +1,19 @@
@import '../vendor/bootstrap/less/bootstrap.less';
@import 'variables.less';
@import 'grid.less';
@import url(http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic|Roboto+Slab:700,400&subset=cyrillic-ext,latin);
@font-family-sans-serif: "PT Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
@font-family-monospace: 'Roboto Slab', Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
@font-size-base: 14px;
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
// @font-size-h1: floor((@font-size-base * 2.6)); // ~36px
// @font-size-h2: floor((@font-size-base * 2.15)); // ~30px
@font-size-h1: ceil((@font-size-base * 1.7));// ~24px
@font-size-h2: @font-size-h1;
@font-size-h3: ceil((@font-size-base * 1.55)); // ~22px
@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
@font-size-h5: @font-size-base;
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
//** Unit-less `line-height` for use in components like buttons.
@line-height-base: 1.428571429; // 20/14
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
//** By default, this inherits from the `<body>`.
@headings-font-family: inherit;
@headings-font-weight: 500;
@headings-line-height: 1.1;
@headings-color: inherit;
h5 {
font-weight: 500;
}
.wrapper {
.make-row();
margin-top: 10px;
margin-bottom: -10px;
}
.header-logo {
.make-lg-column(8);
.slogan {
position: absolute;
top: 58px;
left: 176px;
width: 160px;
opacity: 0.5;
line-height: 17px;
}
}
.header-contacts {
.make-lg-column(3);
.make-lg-column-offset(1);
text-align: right;
@import 'header.less';
@import 'footer.less';
margin-top: -4px;
@import 'sub_content.less';
ul {
margin-right: -5px;
margin-bottom: 0;
}
p {
margin: 0;
}
}
.consultation {
h5 {
opacity: 0.5;
@import 'people.less';
margin-bottom: 3px;
margin-top: 0;
}
h3 {
margin: 0;
}
button {
margin-bottom: 5px;
margin-right: -5px;
}
}
@import url(http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic|Roboto+Slab:700,400&subset=cyrillic-ext,latin);
.logo {
height: 100px;
}
.background-line-pattern {
@ -112,104 +27,3 @@ h5 {
z-index: -1;
left: 0;
}
.header-menu-font {
font-family: @font-family-monospace;
}
.header-menu {
font-size: 16px;
li {
margin-top: 1px;
margin-right: 35px;
font-weight: 400;
a {
text-decoration: underline;
}
}
span.active {
font-weight: 700;
}
}
footer {
.make-row();
margin-top: 10px;
margin-bottom: 5px;
opacity: 0.5;
font-size: 12px;
.background-line-pattern {
opacity: 0.13;
}
a {
color: #000000;
text-decoration: underline;
}
li.active {
a {
text-decoration: none;
}
}
.about {
.make-lg-column(2);
margin-top: -10px;
.copyright {
margin-top: 5px;
opacity: 0.7;
}
ul {
margin-top: 16px;
li {
line-height: 20px;
}
}
}
.menu {
.make-lg-column(4);
h5 {
margin-top: 6px;
margin-bottom: 18px;
}
li {
line-height: 20px;
}
}
.contacts {
.make-lg-column(2);
margin-top: 39px;
li {
margin-bottom: 10px;
}
}
}
.sub-content {
.make-row();
.menu {
.make-lg-column(2);
}
.content {
.make-lg-column(10);
}
}

@ -0,0 +1,12 @@
.plugin-people {
.people-detail-visual {
margin-top: 20px;
}
li.people-item {
width: 150px;
vertical-align: top;
}
}

@ -0,0 +1,61 @@
.sub-content {
.make-row();
.menu {
.make-lg-column(2);
.make-md-column(2);
// .make-sm-column(1);
// В разделе сотрудников заезжает контент
position: relative;
z-index: 100;
li {
@media (min-width: 320px) {
display: inline-block;
margin-right: 15px;
}
@media (min-width: @screen-md-min) {
display: block;
margin-bottom: 5px;
}
}
h5 {
font-weight: 700;
}
li.active {
display: inline-block;
background: #EDEDED;
padding: 1px 5px;
margin: -5px;
margin-bottom: 5px;
@media (min-width: 320px) {
margin-right: 10px;
}
a {
color: #000000;
text-decoration: none;
}
}
}
.content {
.make-lg-column(8);
.make-md-column(10);
.breadcrumb {
padding: 0;
margin-bottom: 0;
background-color: #fff;
border-radius: 0;
margin-top: 8px;
}
// .make-sm-column(11);
}
}

@ -0,0 +1,28 @@
@font-family-sans-serif: "PT Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
@font-family-monospace: 'Roboto Slab', Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
@font-size-base: 14px;
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
// @font-size-h1: floor((@font-size-base * 2.6)); // ~36px
// @font-size-h2: floor((@font-size-base * 2.15)); // ~30px
@font-size-h1: ceil((@font-size-base * 1.7));// ~24px
@font-size-h2: @font-size-h1;
@font-size-h3: ceil((@font-size-base * 1.55)); // ~22px
@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
@font-size-h5: @font-size-base;
@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
//** Unit-less `line-height` for use in components like buttons.
@line-height-base: 1.428571429; // 20/14
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
//** By default, this inherits from the `<body>`.
@headings-font-family: inherit;
@headings-font-weight: 500;
@headings-line-height: 1.1;
@headings-color: inherit;

@ -0,0 +1,19 @@
{% extends "aldryn_newsblog/two_column.html" %}
{% load i18n cms_tags %}
{% block newsblog_content %}
{% render_placeholder view.config.list_view_placeholder language placeholder_language %}
<div class="aldryn-newsblog-list">
{% for article in article_list %}
{% include "aldryn_newsblog/includes/article.html" %}
{% empty %}
<p class="well">{% trans "No items available" %}</p>
{% endfor %}
</div>
{% endblock %}
{% block newsblog_footer %}
<div class="aldryn-newsblog-pagination">
{% include "aldryn_newsblog/includes/pagination.html" %}
</div>
{% endblock %}

@ -0,0 +1,8 @@
{% extends CMS_TEMPLATE %}
{% block extend_breadcrumb %}
{{ block.super }}
{% block newsblog_breadcrumb %}{% endblock newsblog_breadcrumb %}
{% endblock extend_breadcrumb %}
{% block content_safe %}{% endblock content_safe %}

@ -0,0 +1,72 @@
{% load i18n apphooks_config_tags cms_tags sekizai_tags staticfiles thumbnail %}
{% load url from future %}
<article class="aldryn-newsblog-article{% if article.is_featured %} aldryn-newsblog-featured{% endif %}{% if not article.published %} unpublished{% endif %}{% if article.future %} future{% endif %}">
{% block newsblog_visual %}
{% if article.featured_image_id %}
<p class="visual">
{% if not detail_view %}
<a href="{{ article.get_absolute_url }}">
{% endif %}
<img src="{% thumbnail article.featured_image.image 800x450 crop subject_location=article.featured_image.subject_location %}" alt="{{ article.featured_image.alt }}" class="img-responsive">
{% if not detail_view %}
</a>
{% endif %}
</p>
{% endif %}
{% endblock newsblog_visual %}
{% block newsblog_categories %}
{% if article.categories %}
<p class="category">
{% for category in article.categories.all %}
<a href="{% namespace_url "article-list-by-category" category.slug namespace=namespace default='' %}">{{ category.name }}</a>{% if not forloop.last %}, {% endif %}
{% endfor %}
</p>
{% endif %}
{% endblock newsblog_categories %}
{% block newsblock_title %}
<h2>
{% if not detail_view %}
<a href="{% namespace_url "article-detail" article.slug namespace=namespace default='' %}">{% render_model article "title" %}</a>
{% else %}
{% render_model article "title" %}
{% endif %}
</h2>
{% endblock newsblock_title %}
{% block newsblog_meta %}
{% if not detail_view %}
<div class="lead">
{% render_model article "lead_in" %}
</div>
{% endif %}
{% include "aldryn_newsblog/includes/author.html" with author=article.author %}
{% if article.tags and detail_view %}
<p class="tags">
{% for tag in article.tags.all %}
<a href="{% namespace_url safe "article-list-by-tag" tag.slug namespace=namespace default='' %}">{{ tag.name }}</a>
{% endfor %}
</p>
{% endif %}
{% if detail_view %}
<div class="lead">
{% render_model article "lead_in" %}
</div>
{% endif %}
{% endblock newsblog_meta %}
{% block newsblog_content %}
{% if detail_view %}
<div class="content">
{% render_placeholder article.content language placeholder_language %}
</div>
{% endif %}
{% endblock newsblog_content %}
</article>
{% addtoblock "css" %}<link rel="stylesheet" href="{% static 'css/aldryn-newsblog/article.css' %}">{% endaddtoblock %}

@ -0,0 +1,16 @@
{% extends "aldryn_newsblog/base.html" %}
{% load i18n cms_tags %}
{% block content_safe %}
{% if view.show_header %}
{% render_placeholder view.config.placeholder_base_top %}
{% endif %}
<div class="aldryn aldryn-newsblog">
{% block newsblog_title %}{% endblock %}
{% block newsblog_content %}{% endblock %}
{% block newsblog_footer %}{% endblock %}
</div>
{% endblock content_safe %}

@ -0,0 +1,5 @@
{% for ance in ancestors %}
<li>
<a href="{{ ance.get_absolute_url }}">{{ ance.get_menu_title }}</a>
</li>
{% endfor %}

@ -1,17 +1,16 @@
{% load aldryn_people_tags i18n thumbnail %}
{% load menu_tags aldryn_people_tags i18n thumbnail %}
<div class="people-item">
<h2>{{ person.name }} <span>{{ person.function }}</span></h2>
{% if person.visual %}<p class="people-visual">
{% if instance.show_links %}<a href="{{ person.get_absolute_url }}">{% endif %}
<img src="{% thumbnail person.visual 120x150 crop subject_location=person.visual.subject_location %}" alt="{{ person.name }}" />
{% if instance.show_links %}</a>{% endif %}
</p>{% endif %}
<p class="people-meta">
{% if person.phone %}{% trans "Phone:" %} <span>{{ person.phone|phoneformat }}</span><br />{% endif %}
{% if person.mobile %}{% trans "Mobile:" %} <span>{{ person.mobile|phoneformat }}</span><br />{% endif %}
{% if person.email %}{% trans "E-Mail:" %} <a href="mailto:{{ person.email }}">{{ person.email }}</a>{% endif %}
{% if instance.show_vcard and person.vcard_enabled %}<br /><a href="{% url 'download_vcard' person.slug %}" class="btn-download">{% trans "Download vCard" %}</a>{% endif %}
</p>
{% show_breadcrumb 2 %}
<div class="plugin-people row">
<div class="col-sm-4">
{% if person.visual %}<p class="people-detail-visual">
<img src="{% thumbnail person.visual 250x375 crop subject_location=person.visual.subject_location %}" alt="{{ person.name }}" />
{% endif %}
</div>
<div class="col-sm-8">
<h2>{{ person.name }}</h2>
<h5><em>{{ person.function }}</em></h5>
{% if person.description %}<div class="people-desc">{{ person.description|safe }}</div>{% endif %}
</div>
</div>

@ -1,16 +1,17 @@
{% load i18n thumbnail %}
<ul class="people-items list-unsltyled list-inline">
<ul class="plugin-people people-items list-unsltyled list-inline">
{% for person in people %}
<li class="people-item">
{% if instance.show_links %}<a href="{{ person.get_absolute_url }}">{% endif %}
{% if person.visual %}
<p class="people-visual">
{% if instance.show_links %}<a href="{{ person.get_absolute_url }}">{% endif %}
<img src="{% thumbnail person.visual 120x150 crop subject_location=person.visual.subject_location quality=100 %}" alt="{{ person.name }}" />
{% if instance.show_links %}</a>{% endif %}
</p>
{% endif %}
<h5>{{ person.name }}</h5>
{% if instance.show_links %}</a>{% endif %}
<h6>{{ person.function }}</h6>
</li>
{% endfor %}

@ -1,9 +1,13 @@
{% extends "base.html" %}
{% extends CMS_TEMPLATE %}
{% load cms_tags menu_tags %}
{% block content %}
<div class="plugin plugin-people">
<div class="people-detail">
{% block breadcrumb %}
<ul class="list-unstyled list-inline breadcrumb">
{% show_breadcrumb 0 "aldryn_people/includes/breadcrumb.html" 0 %}
<li><span>{{ person.name }}</span></li>
</ul>
{% endblock breadcrumb %}
{% block content_safe %}
{% include "aldryn_people/includes/people_item.html" with person=person %}
</div>
</div>
{% endblock content %}
{% endblock content_safe %}

@ -1,13 +1,14 @@
{% load i18n thumbnail %}
<div class="plugin plugin-people">
<h2>{% trans 'Our Team' %}</h2>
{% if people_groups %}
{# Because of hvad I have to activate the plugin's language :( #}
{% language instance.language %}
{% language LANGUAGE_CODE %}
{% for group, people_list in people_groups.items %}
{% if group.name %}
<div class="people-group">
<h2>{{ group.name }}</h2>
<h4>{{ group.name }}</h4>
<div class="people-lead">{{ group.description|safe }}</div>
</div>
{% endif %}

@ -31,7 +31,7 @@
<p class="city">{% trans 'London' %}</p>
<div class="consultation">
<h5>{% trans 'Free Consultation' %} </h5>
<h3>+7 800 700-16-37</h3>
<h3><nobr>+7 800 700-16-37</nobr></h3>
<button type="button" class="btn btn-default btn-xs">{% trans 'Callback' %}</button>
<div class="email">
<a href="mailto:info@zuykov.{% if current_language == "ru" %}ru{% else %}com{% endif %}">info@zuykov.{% if current_language == "ru" %}ru{% else %}com{% endif %}</a>

@ -1,9 +1,6 @@
{% load i18n menu_tags cache %}
{% for child in children %}
<li>
{% if child.selected %}
<span class="active">{{ child.get_menu_title }}</span>
{% else %}
<li {% if child.selected %}class="active"{% endif %}>
{% if child.children %}
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
{{ child.get_menu_title }} <span class="caret"></span>
@ -14,8 +11,6 @@
{% else %}
<a href="{{ child.get_absolute_url }}"><span>{{ child.get_menu_title }}</span></a>
{% endif %}
{% endif %}
</li>
{% if class and forloop.last and not forloop.parentloop %}{% endif %}
{% endfor %}

@ -0,0 +1,9 @@
{% for ance in ancestors %}
<li>
{% if not forloop.last or link_all %}
<a href="{{ ance.get_absolute_url }}">{{ ance.get_menu_title }}</a>
{% else %}
<span class="active">{{ ance.get_menu_title }}</span>
{% endif %}
</li>
{% endfor %}

@ -1 +1 @@
{{ ancestors.1.title }}
<a href="{{ ancestors.1.get_absolute_url }}">{{ ancestors.1.title }}</a>

@ -12,7 +12,15 @@
</ul>
</div>
<div class="content">
{% block breadcrumb %}
<ul class="list-unstyled list-inline breadcrumb">
{% show_breadcrumb 0 "menu/breadcrumb.html" 0 %}
</ul>
{% endblock breadcrumb %}
{% block content_safe %}
{% placeholder "content" %}
{% endblock content_safe %}
</div>
</div>
{% endblock content %}

Loading…
Cancel
Save