refactor product layout context objects

remotes/origin/HEAD
Max Yakovenko 8 years ago
parent d976d220eb
commit eac249a8db
  1. 39
      templates/common.html
  2. 2
      templates/components/footer.html
  3. 2
      templates/components/header.html
  4. 2
      templates/components/navbar.html
  5. 160
      templates/products/product_category_list.html
  6. 155
      templates/products/product_list.html
  7. 14
      templates/products/product_search.html

@ -13,20 +13,20 @@
{% block extra_left_menu_items %}
{% endblock extra_left_menu_items %}
{% if product_root_categories %}
{% if product_categories %}
<div class="left-menu__category">
{% for category in product_root_categories %}
{% for category in product_categories %}
<a class="left-menu__category-item"
href="{% url "products:category" slug=category.slug %}">
href="{% url "products:product_list" category_slug=category.slug %}">
<span class="category-item__image">
<img src="{% static category.img %}" alt="{{ category.alt }}">
<img src="{% static category.image.url %}" alt="{{ category.name }}">
</span>
<span class="category-item__name">{{ category.name }}</span>
</a>
{% endfor %}
</div>
{% endif %}
{% if contact_us_form %}
{% if left_contact_us_form %}
<div class="left-menu__contact">
<div class="left-menu__title">
Не нашли нужную программу или разработчика?
@ -37,7 +37,7 @@
{{ contact_us_form_message }}
</div>
{% endif %}
{% crispy contact_us_form %}
{% crispy left_contact_us_form %}
</div>
{% endif %}
</div>
@ -57,12 +57,19 @@
{% endif %}
</div>
</div>
{% if product_root_categories %}
{% if product_categories %}
<div class="content__category">
<ul class="content__category-list">
{% if the_product_category and the_product_category.parent %}
<li>
<a href="{% url 'products:product_list' category_slug=the_product_category.parent.slug %}">
{{ the_product_category.parent.name }}
</a>
</li>
{% endif %}
{% for category in product_root_categories %}
<li>
<a href="{% url "products:category" slug=category.slug %}">
<a href="{% url "products:product_category" category_slug=category.slug %}">
<span class="category-item__image">
<img src="{% static category.img %}" alt="{{ category.alt }}">
</span>
@ -70,7 +77,6 @@
</a>
</li>
{% empty %}
<li><a href="#">Microsoft</a></li>
{% endfor %}
</ul>
</div>
@ -78,7 +84,20 @@
{% include 'components/breadcrumbs.html' %}
{% block right_common_content %}
{% endblock right_common_content %}
{% if content_contact_us_form %}
<div class="contact">
<div class="content__title">
Не нашли нужную программу или разработчика?
Заполните форму и с Вами свяжется наш специалист.
</div>
{% if contact_us_form_message %}
<div class="text-{% if "success" in contact_us_form_message.tags %}success{% elif "error" in contact_us_form_message.tags %}danger{% endif %}">
{{ contact_us_form_message }}
</div>
{% endif %}
{% crispy content_contact_us_form %}
</div>
{% endif %}
</div>
</div>
{% endblock content %}

@ -9,7 +9,7 @@
</div>
<div class="col-md col-md-2 col-5">
<ul class="footer__menu">
<li><a href="{% url 'products:product_category' %}">Каталог</a></li>
<li><a href="{% url 'products:product_list' %}">Каталог</a></li>
<li><a href="news.html">Новости</a></li>
<li><a href="cashback.html">Акции</a></li>
<li><a href="about.html">О компании</a></li>

@ -12,7 +12,7 @@
<div class="header__menu align-self-center">
<ul class="d-flex justify-content-around">
<li class="active">
<a href="{% url 'products:product_category' %}">Каталог</a>
<a href="{% url 'products:product_list' %}">Каталог</a>
</li>
<li>
<a href="news.html">Новости</a>

@ -3,7 +3,7 @@
<div class="mobail-menu" style="display: none">
<div class="container">
<ul class="mobail-menu__list">
<li><a href="{% url 'products:product_category' %}">Каталог</a></li>
<li><a href="{% url 'products:product_list' %}">Каталог</a></li>
<li><a href="/flatpages_ext">Новости</a></li>
<li><a href="/flatpages_ext/cashback">Акции</a></li>
<li><a href="/flatpages_ext/about">О компании</a></li>

@ -1,160 +0,0 @@
{% extends 'common.html' %}
{% load static %}
{% block extra_left_menu_items %}
<div class="left-menu__filter">
<div class="filter__title">
Фильтр товаров
</div>
<div class="filter__subtitle">
Цена
</div>
<form action="">
<div class="filter__controls">
<span>от</span>
<input type="text" class="filter__min" value="">
<span>до</span>
<input type="text" class="filter__max" value="">
</div>
<div id="range" data-min="20" data-max="9999"></div>
</form>
<div class="filter__category">
<div class="filter__category-item">
<div class="category__title">Производитель</div>
<ul>
<li><a href="#">Nokia</a></li>
<li><a href="#">Apple</a></li>
<li><a href="#">Samsung</a></li>
<li><a href="#">Dexp</a></li>
<li><a href="#">Seven</a></li>
</ul>
</div>
<div class="filter__category-item">
<div class="category__title">Тип поставки</div>
<ul>
<li><a href="#">Nokia</a></li>
<li><a href="#">Apple</a></li>
<li><a href="#">Samsung</a></li>
<li><a href="#">Dexp</a></li>
<li><a href="#">Seven</a></li>
</ul>
</div>
<div class="filter__category-item">
<div class="category__title">Назначение</div>
<ul>
<li><a href="#">Nokia</a></li>
<li><a href="#">Apple</a></li>
<li><a href="#">Samsung</a></li>
<li><a href="#">Dexp</a></li>
<li><a href="#">Seven</a></li>
</ul>
</div>
</div>
</div>
{% endblock extra_left_menu_items %}
{% block right_common_content %}
<div class="content__subtitle">Производители</div>
<ul class="content__maker-list">
<li><a href="#">Avast</a></li>
<li><a href="#">Kaspersky</a></li>
<li><a href="#">Dr.Web</a></li>
<li><a href="#">McAfee</a></li>
<li><a href="#">ESET</a></li>
<li><a href="#">Symantec</a></li>
<li><a href="#">Grizzly</a></li>
</ul>
<div class="sort">
<form action="">
Сортировать по
<select>
<option value="1">Популярности</option>
<option value="2">Рейтингу</option>
<option value="2">Цене</option>
</select>
</form>
</div>
<div class="catalog">
{% for product in products %}
<div class="catalog__item">
<div class="catalog__information">
<div class="catalog__image">
<img src="{% static product.product_image.url %}" alt="{{ product.name }}">
</div>
<div class="catalog__dec">
<div class="catalog__title">
<a href="{% url 'products:product' slug=product.slug %}">
{{ product.name }}
</a>
</div>
<div class="catalog__price">
{{ product.offer.price }} {{ product.offer.currency }}
</div>
<div class="catalog__dec-list">
<ul>
<li><span>Артикул:</span>057J1-WWW8695-T548</li>
<li><span>НДС:</span>Включен</li>
<li><span>Платформа:</span>Windows</li>
<li><span>Тип поставки:</span>Любой из доступных</li>
<li><span>Срок поставки:</span>3-14 дней</li>
<li><span>Примечание:</span>Временная лицензия, 1 год – новая покупка, локальная</li>
</ul>
</div>
</div>
</div>
<div class="catalog__btn">
<a href="#">Купить</a>
</div>
</div>
{% empty %}
<div class="catalog__item">
<div class="catalog__information">
<div class="catalog__image"><img src="./img/item-image-min.png" alt=""></div>
<div class="catalog__dec">
<div class="catalog__title"><a href="#">ESET NOD32 Secure Enterprise новая лицензия
для 26 компьютеров</a></div>
<div class="catalog__star">
<form action="">
<select class="stars" data-rating="2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</form>
</div>
<div class="catalog__price">79 400 ₽ / 1398 $</div>
<div class="catalog__dec-list">
<ul>
<li><span>Артикул:</span>057J1-WWW8695-T548</li>
<li><span>НДС:</span>Включен</li>
<li><span>Платформа:</span>Windows</li>
<li><span>Тип поставки:</span>Любой из доступных</li>
<li><span>Срок поставки:</span>3-14 дней</li>
<li><span>Примечание:</span>Временная лицензия, 1 год – новая покупка, локальная</li>
</ul>
</div>
</div>
</div>
<div class="catalog__btn">
<a href="basket.html">Купить</a>
</div>
</div>
{% endfor %}
</div>
<div class="contact">
<form action="">
<div class="contact__title">Не нашли нужную программу
или разработчика?
Заполните форму и с Вами
свяжется наш специалист.
</div>
<input class="contact__text" type="text" placeholder="Имя">
<input class="contact__text" type="text" placeholder="Название продукта">
<input class="contact__text" type="text" placeholder="E-mail">
<input class="contact__text" type="text" placeholder="Номер телефона">
<button class="contact__btn">Отправить</button>
</form>
</div>
{% endblock right_common_content %}

@ -1,31 +1,146 @@
{% extends 'common.html' %}
{% load static %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
<div id="main" class="product_list col-sm-9">
<form class="search-form-container" action="/find/" method="get" >
<div class="form-group">
<div class="icon-addon addon-lg">
<input type="text" placeholder="what are you looking for ?" class="form-control" name="q" id="q" autocomplete="on">
<div id="selction-ajax"></div>
{% block extra_left_menu_items %}
<div class="left-menu__filter">
<div class="filter__title">
Фильтр товаров
</div>
<div class="filter__subtitle">
Цена
</div>
<form action="">
<div class="filter__controls">
<span>от</span>
<input type="text" class="filter__min" value="">
<span>до</span>
<input type="text" class="filter__max" value="">
</div>
<div id="range" data-min="20" data-max="9999"></div>
</form>
<h1>Products</h1>
<div class="items row">
<div class="filter__category">
<div class="filter__category-item">
<div class="category__title">Производитель</div>
<ul>
<li><a href="#">Nokia</a></li>
<li><a href="#">Apple</a></li>
<li><a href="#">Samsung</a></li>
<li><a href="#">Dexp</a></li>
<li><a href="#">Seven</a></li>
</ul>
</div>
<div class="filter__category-item">
<div class="category__title">Тип поставки</div>
<ul>
<li><a href="#">Nokia</a></li>
<li><a href="#">Apple</a></li>
<li><a href="#">Samsung</a></li>
<li><a href="#">Dexp</a></li>
<li><a href="#">Seven</a></li>
</ul>
</div>
<div class="filter__category-item">
<div class="category__title">Назначение</div>
<ul>
<li><a href="#">Nokia</a></li>
<li><a href="#">Apple</a></li>
<li><a href="#">Samsung</a></li>
<li><a href="#">Dexp</a></li>
<li><a href="#">Seven</a></li>
</ul>
</div>
</div>
</div>
{% endblock extra_left_menu_items %}
{% block right_common_content %}
<div class="content__subtitle">Производители</div>
<ul class="content__maker-list">
<li><a href="#">Avast</a></li>
<li><a href="#">Kaspersky</a></li>
<li><a href="#">Dr.Web</a></li>
<li><a href="#">McAfee</a></li>
<li><a href="#">ESET</a></li>
<li><a href="#">Symantec</a></li>
<li><a href="#">Grizzly</a></li>
</ul>
<div class="sort">
<form action="">
Сортировать по
<select>
<option value="1">Популярности</option>
<option value="2">Рейтингу</option>
<option value="2">Цене</option>
</select>
</form>
</div>
<div class="catalog">
{% for product in products %}
<div class="item col-sm-4">
<a href="{{ product.get_absolute_url }}">
<img src="{% if product.image %}{{ product.image.url }}{% else %}{% static 'img/no-image.jpg' %} {% endif %}" class="img-responsive">
<div class="catalog__item">
<div class="catalog__information">
<div class="catalog__image">
<img src="{% static product.product_image.url %}" alt="{{ product.name }}">
</div>
<div class="catalog__dec">
<div class="catalog__title">
<a href="{% url 'products:product' slug=product.slug %}">
{{ product.name }}
</a>
<a href="{{ product.get_absolute_url }}">{{ product.name }}</a><br>
<h4 class="product-price">
<span class="label label-info">{{ product.price }} rub.</span>
</h4>
</div>
{% endfor %}
<div class="catalog__price">
{{ product.offer.price }} {{ product.offer.currency }}
</div>
<div class="catalog__dec-list">
<ul>
<li><span>Артикул:</span>057J1-WWW8695-T548</li>
<li><span>НДС:</span>Включен</li>
<li><span>Платформа:</span>Windows</li>
<li><span>Тип поставки:</span>Любой из доступных</li>
<li><span>Срок поставки:</span>3-14 дней</li>
<li><span>Примечание:</span>Временная лицензия, 1 год – новая покупка, локальная</li>
</ul>
</div>
</div>
</div>
{% endblock %}
<div class="catalog__btn">
<a href="#">Купить</a>
</div>
</div>
{% empty %}
<div class="catalog__item">
<div class="catalog__information">
<div class="catalog__image"><img src="./img/item-image-min.png" alt=""></div>
<div class="catalog__dec">
<div class="catalog__title"><a href="#">ESET NOD32 Secure Enterprise новая лицензия
для 26 компьютеров</a></div>
<div class="catalog__star">
<form action="">
<select class="stars" data-rating="2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</form>
</div>
<div class="catalog__price">79 400 ₽ / 1398 $</div>
<div class="catalog__dec-list">
<ul>
<li><span>Артикул:</span>057J1-WWW8695-T548</li>
<li><span>НДС:</span>Включен</li>
<li><span>Платформа:</span>Windows</li>
<li><span>Тип поставки:</span>Любой из доступных</li>
<li><span>Срок поставки:</span>3-14 дней</li>
<li><span>Примечание:</span>Временная лицензия, 1 год – новая покупка, локальная</li>
</ul>
</div>
</div>
</div>
<div class="catalog__btn">
<a href="basket.html">Купить</a>
</div>
</div>
{% endfor %}
</div>
{% endblock right_common_content %}

@ -213,19 +213,5 @@
</div>
{% endfor %}
</div>
<div class="contact">
<form action="">
<div class="contact__title">Не нашли нужную программу
или разработчика?
Заполните форму и с Вами
свяжется наш специалист.
</div>
<input class="contact__text" type="text" placeholder="Имя">
<input class="contact__text" type="text" placeholder="Название продукта">
<input class="contact__text" type="text" placeholder="E-mail">
<input class="contact__text" type="text" placeholder="Номер телефона">
<button class="contact__btn">Отправить</button>
</form>
</div>
{% endblock right_common_content %}

Loading…
Cancel
Save