remotes/origin/artem
Gena 11 years ago
parent 32fb0205c3
commit 5aa4b4d5fb
  1. 167
      batiskaf/templates/jinja2/base.jinja
  2. 4
      batiskaf/templates/jinja2/category.jinja
  3. 13
      batiskaf/templates/jinja2/news/list.jinja
  4. 24
      store/migrations/0030_auto_20150716_1909.py
  5. 1
      store/models.py
  6. 2
      store/urls.py
  7. 4
      store/views.py

@ -4,13 +4,16 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>{% block title %}Интернет-Магазин снаряжения для дайвинга и подводной охоты Батискаф-Казахстан{% endblock %} | Batiskaf-KZ.kz</title>
<title>{% block title %}Интернет-Магазин снаряжения для дайвинга и подводной охоты Батискаф-Казахстан{% endblock %}
| Batiskaf-KZ.kz</title>
<meta name="yandex" content="all"/>
<meta name="Description" content="{% block meta_description %}Интернет-Магазин Батискаф-Казахстан. Купить снаряжение для дайвинга и подводной охоты в Казахстане. Гидрокостюмы, подводные костюмы, ласты, маски, трубки, акваланги, подводные ружья, арбалеты, пневматы, подводные фонари.{% endblock %}">
<meta name="Keywords" content="{% block meta_keywords %}Интернет-Магазин, Батискаф-Казахстан, Купить снаряжение для дайвинга и подводной охоты, Гидрокостюмы, подводные костюмы, ласты, маски, трубки, акваланги, подводные ружья, арбалеты, пневматы, подводные фонари{% endblock %}"/>
<meta name="Description"
content="{% block meta_description %}Интернет-Магазин Батискаф-Казахстан. Купить снаряжение для дайвинга и подводной охоты в Казахстане. Гидрокостюмы, подводные костюмы, ласты, маски, трубки, акваланги, подводные ружья, арбалеты, пневматы, подводные фонари.{% endblock %}">
<meta name="Keywords"
content="{% block meta_keywords %}Интернет-Магазин, Батискаф-Казахстан, Купить снаряжение для дайвинга и подводной охоты, Гидрокостюмы, подводные костюмы, ласты, маски, трубки, акваланги, подводные ружья, арбалеты, пневматы, подводные фонари{% endblock %}"/>
<meta name="author" content="Sitio.kz">
<meta name='wmail-verification' content='9f76895b5c61bf07549fac4c6cfaed30' />
<meta name="google-site-verification" content="5r-tJIBvrAgxrChs6U83OM9wSoUjp_lgTsZm4RiLeqE" />
<meta name='wmail-verification' content='9f76895b5c61bf07549fac4c6cfaed30'/>
<meta name="google-site-verification" content="5r-tJIBvrAgxrChs6U83OM9wSoUjp_lgTsZm4RiLeqE"/>
<link href='/static/favicon.ico?v=1' type='image/x-icon' rel='shortcut icon'/>
@ -37,7 +40,8 @@
<div class="container-fluid header-top">
<div class="container">
<div class="top-left-links"><a href="/news/">Новости</a> | <a href="/payment/">Оплата</a> | <a href="/delivery/">Доставка</a> | <a
<div class="top-left-links"><a href="/news/">Новости</a> | <a href="/payment/">Оплата</a> | <a
href="/delivery/">Доставка</a> | <a
href="/advantages/">Преимущества</a> | <a
href="/contacts/">Контакты</a></div>
<div class="top-right-links">
@ -69,18 +73,19 @@
</form>
<p class="small-welcome">Добро пожаловать в интернет-магазин Батискаф!</p>
<p class="quick-links"><a href="/feedback/"><strong class="text-info">Отзывы о магазине</strong></a> | <a href="/account/">Мой аккаунт</a> | <a
<p class="quick-links"><a href="/feedback/"><strong class="text-info">Отзывы о магазине</strong></a> | <a
href="/account/">Мой аккаунт</a> | <a
href="/store/cart/">Моя
корзина {% if (request|cart).items|length > 0 %}
<span class="label label-success">{{ (request|cart).items|length }}</span>{% endif %}</a>
{% if request.user.is_authenticated() %}
{% if request.user.is_authenticated() %}
| <a href="/account/logout/">Выйти</a>
| <a href="/account/logout/">Выйти</a>
{% else %}
| <a href="/account/login/">Войти</a>
{% endif %}
| <a href="/account/login/">Войти</a>
{% endif %}
</p>
</div>
</div>
@ -95,8 +100,9 @@
<div>
<ul class="nav navbar-nav">
{% for category in main_categories %}
<li class="dropdown yamm-fw" ><a href="#" data-toggle="dropdown"
class="dropdown-toggle "><span class="lead">{{ category.title }}</span></a>
<li class="dropdown yamm-fw"><a href="#" data-toggle="dropdown"
class="dropdown-toggle "><span
class="lead">{{ category.title }}</span></a>
<ul class="dropdown-menu">
<li>
<div class="yamm-content">
@ -129,9 +135,12 @@
</ul>
</li>
{% endfor %}
<li><a href="/store/sale/" ><span class="lead">Распродажа!</span></a>
<li><a href="/store/sale/"><span class="lead">Распродажа!</span></a>
</li>
</li>
<li><a href="/store/leaders/"><span class="lead">Лидеры продаж</span></a>
</li>
</ul>
@ -191,16 +200,20 @@
<div class="row">
<div class="col-xs-12 text-center">
<a href="https://www.facebook.com/groups/383011475222787/" target="_blank">
<img src="/static/img/icon-fb.png" style="display: inline" width="32" height="32" alt="Группа Facebook" title="Группа Facebook"/>
<img src="/static/img/icon-fb.png" style="display: inline" width="32" height="32"
alt="Группа Facebook" title="Группа Facebook"/>
</a>
<a href="http://vk.com/batiskaf_kz" target="_blank">
<img src="/static/img/icon-vk.png" style="display: inline" width="32" height="32" alt="Группа ВКонтакте" title="Группа ВКонтакте"/>
<img src="/static/img/icon-vk.png" style="display: inline" width="32" height="32"
alt="Группа ВКонтакте" title="Группа ВКонтакте"/>
</a>
<a href="http://ok.ru/group/54597434081295" target="_blank">
<img src="/static/img/icon-ok.png" style="display: inline" width="32" height="32" alt="Группа Одноклассники" title="Группа Одноклассники"/>
<img src="/static/img/icon-ok.png" style="display: inline" width="32" height="32"
alt="Группа Одноклассники" title="Группа Одноклассники"/>
</a>
<a href="https://www.youtube.com/user/batiskafspb" target="_blank">
<img src="/static/img/icon-yt.png" style="display: inline" width="32" height="32" alt="Канал на YouTube" title="Канал на YouTube"/>
<img src="/static/img/icon-yt.png" style="display: inline" width="32" height="32"
alt="Канал на YouTube" title="Канал на YouTube"/>
</a>
</div>
</div>
@ -214,50 +227,95 @@
href="/store/search/?q=">Поиск</a> &nbsp;|&nbsp; <a href="/contacts/">Контакты</a> &nbsp;
</p><br/>
<br/>
<br/>
<div class="row">
<div class="col-xs-6">
<p class="lead">
Все права защищены 2015 © компанией Батискаф-Казахстан <br/>
Все права защищены 2015 © компанией Батискаф-Казахстан <br/>
<small>Сделано в <a href="http://sitio.kz">SitIO</a></small>
</p>
</p>
</div>
<div class="col-xs-6 text-right">
<!-- Yandex.Metrika informer -->
<a href="https://metrika.yandex.ru/stat/?id=30685703&amp;from=informer"
target="_blank" rel="nofollow"><img src="//bs.yandex.ru/informer/30685703/3_0_FED000FF_FED000FF_0_pageviews"
style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" onclick="try{Ya.Metrika.informer({i:this,id:30685703,lang:'ru'});return false}catch(e){}"/></a>
<!-- /Yandex.Metrika informer -->
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter30685703 = new Ya.Metrika({id:30685703,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="//mc.yandex.ru/watch/30685703" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<a href="https://metrika.yandex.ru/stat/?id=30685703&amp;from=informer"
target="_blank" rel="nofollow"><img
src="//bs.yandex.ru/informer/30685703/3_0_FED000FF_FED000FF_0_pageviews"
style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика"
title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)"
onclick="try{Ya.Metrika.informer({i:this,id:30685703,lang:'ru'});return false}catch(e){}"/></a>
<!-- /Yandex.Metrika informer -->
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
(w[c] = w[c] || []).push(function () {
try {
w.yaCounter30685703 = new Ya.Metrika({
id: 30685703,
webvisor: true,
clickmap: true,
trackLinks: true,
accurateTrackBounce: true
});
} catch (e) {
}
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () {
n.parentNode.insertBefore(s, n);
};
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else {
f();
}
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript>
<div><img src="//mc.yandex.ru/watch/30685703" style="position:absolute; left:-9999px;" alt=""/>
</div>
</noscript>
<!-- /Yandex.Metrika counter -->
<!-- ZERO.kz -->
<span id="_zero_64378">
<noscript>
<a href="http://zero.kz/?s=64378" target="_blank">
<img src="http://c.zero.kz/z.png?u=64378" width="88" height="31" alt="ZERO.kz"/>
</a>
</noscript>
</span>
<script type="text/javascript"><!--
var _zero_kz_ = _zero_kz_ || [];
_zero_kz_.push(["id", 64378]);
_zero_kz_.push(["type", 1]);
(function () {
var a = document.getElementsByTagName("script")[0],
s = document.createElement("script");
s.type = "text/javascript";
s.async = true;
s.src = (document.location.protocol == "https:" ? "https:" : "http:")
+ "//c.zero.kz/z.js";
a.parentNode.insertBefore(s, a);
})(); //-->
</script>
<!-- End ZERO.kz -->
<!--DIVEtop COUNTER-->
<a target=_blank href=
http://divetop.ru?SID=1642><img src=
http://divetop.ru/baner.php?SID=1642&t=1&c=1
border=0 height=31 width=88
alt='Дайвинг - рейтинг DIVEtop'></a>
<!--/COUNTER-->
</div>
</div>
@ -353,6 +411,7 @@ style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" tit
<script src="/static/js/formstone/js/dropdown.js"></script>
<script src="/static/star-rating/jquery.rating.pack.js"></script>
<script src="/static/js/_.js?v=10"></script>
{% endblock footer_scripts %}
{% block jss %}{% endblock jss %}
{% if messages %}

@ -30,8 +30,10 @@
<li class="active"><span>{{ category.title }}</span></li>
{% elif 'sale' in request.path %}
<li class="active"><span>Скидки</span></li>
{% else %}
{% elif 'search' in request.path %}
<li class="active"><span>Поиск по запросу {{ request.GET['q'] }}</span></li>
{% elif 'leaders' in request.path %}
<li class="active"><span>Лидеры продаж</span></li>
{% endif %}
</ol>

@ -1,12 +1,12 @@
{% extends 'base.jinja' %}
{% block title %}
Новости Батискаф-Казахстан
Новости Батискаф-Казахстан
{% endblock %}
{% block meta_description %}
Новости интернет-магазина подводной охоты и дайвинга Батискаф-Казахстан
Новости интернет-магазина подводной охоты и дайвинга Батискаф-Казахстан
{% endblock %}
{% block meta_keywords %}
Новости, Читать, Комментировать, Снаряжение, Батискаф-Казахстан
Новости, Читать, Комментировать, Снаряжение, Батискаф-Казахстан
{% endblock %}
{% block content %}
<div class=" breadcrumbs">
@ -40,8 +40,11 @@
</small>
</p>
<p class="text-center">
{# {% set im = object.image|thumbnail("400x400") %}#}
<a href="{{ url('news_detail', args=(object.slug,)) }}"><img src="/static/{{ object.image.url }}" alt="{{ object.title }}" title="{{ object.title }}" style="max-width: 100%"/></a>
{# {% set im = object.image|thumbnail("400x400") %}#}
<a href="{{ url('news_detail', args=(object.slug,)) }}"><img src="/static/{{ object.image.url }}"
alt="{{ object.title }}"
title="{{ object.title }}"
style="max-width: 100%"/></a>
</p>
{{ object.text|truncate(520)|linebreaks|safe }}
<p class="text-right"><a href="{{ url('news_detail', args=(object.slug,)) }}">Продолжить читать &rarr;</a>

File diff suppressed because one or more lines are too long

@ -162,6 +162,7 @@ class Product(models.Model):
brand = models.ForeignKey(Brand, verbose_name='Брэнд')
attirbutes = models.ManyToManyField(
AttributeForCategory, through='AttributesInProduct')
is_leader = models.BooleanField('Лидер продаж', default=False)
class Meta:
verbose_name = 'товар'

@ -15,6 +15,8 @@ urlpatterns = patterns('',
url(r'^search/$', CategoryView.as_view(is_search=True),
name='store_search'),
url(r'^leaders/$', CategoryView.as_view(is_leaders=True),
name='store_leaders'),
url(r'^sale/$', CategoryView.as_view(is_sale=True),
name='store_sale'),

@ -35,6 +35,7 @@ class CategoryView(CategoryBaseView, TemplateView):
sort = None
is_search = False
is_sale = False
is_leaders = False
ORDER_PARAMETERS = (
('date', 'pk'),
@ -101,6 +102,9 @@ class CategoryView(CategoryBaseView, TemplateView):
elif self.is_sale:
self.products_qs = Product.objects.filter(variations__discount__gt=0).distinct().order_by('-pk')
retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs)))
elif self.is_leaders:
self.products_qs = Product.objects.filter(is_leader=True).order_by('-pk')
retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs)))
else:
self.category = self._get_full_category(kwargs['categories'])
self.products_qs = self.category.get_all_products().order_by('-pk')

Loading…
Cancel
Save