exposition page new design

remotes/origin/t90_expo_page
ya_dim4ik 9 years ago
parent b94c2357f9
commit f5bc1754e7
  1. 1
      .gitignore
  2. 311
      static/client/css/main.css
  3. 2
      static/client/css_min/main.min.css
  4. BIN
      static/client/img/expo_default.png
  5. BIN
      static/client/img/exposition_small_logo.png
  6. BIN
      static/client/img/sprites.png
  7. BIN
      static/client/img/sprites_backup.png
  8. 380
      static/client/js/_modules/page.exposition.object.js
  9. 2
      static/client/js_min/_modules/page.exposition.object.min.js
  10. 5
      templates/client/exposition/exposition_detail.html
  11. 48
      templates/client/includes/article/articles_in_event.html
  12. 15
      templates/client/includes/exposition/default_description.html
  13. 422
      templates/client/includes/exposition/exposition_object.html
  14. 4
      templates/client/includes/visit_button.html

1
.gitignore vendored

@ -17,4 +17,5 @@ collected_static
# gulp # gulp
node_modules node_modules
package-lock.json
npm-debug.log npm-debug.log

@ -5627,6 +5627,24 @@ dl.add-info dd ul li {
background: url(../img/sprites.png) -211px 0 no-repeat; background: url(../img/sprites.png) -211px 0 no-repeat;
margin: -1px 5px 0 0 margin: -1px 5px 0 0
} }
.i-event-additional .e-docs a.translator:before {
width: 15px;
height: 15px;
background: url(../img/sprites.png) -427px -130px no-repeat;
margin-left: -2px;
}
.i-event-additional .e-docs a.car_rent:before {
width: 15px;
height: 11px;
background: url(../img/sprites.png) -427px -164px no-repeat;
margin-left: -2px;
}
.i-event-additional .e-docs a.find_hotel:before {
width: 15px;
height: 15px;
background: url(../img/sprites.png) -427px -147px no-repeat;
margin-left: -2px;
}
.i-event-additional .add-info { .i-event-additional .add-info {
width: 70%; width: 70%;
padding-right: 30px; padding-right: 30px;
@ -14470,4 +14488,297 @@ h1 .preview_toggle:hover{
text-decoration: none; text-decoration: none;
float: right; float: right;
margin-top: -5px; margin-top: -5px;
}
/*937x244*/
.exposition_main_image {
height: 244px;
background: url('../img/expo_default.png') no-repeat center;
background-size: cover;
border-radius: 3px;
margin-bottom: 35px;
}
.exposition_main_image .buttons {
width: 345px;
height: 100%;
background-color: rgba(255,255,255,.9);
border-radius: 3px;
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-moz-box-orient: vertical;
-moz-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-webkit-align-items: center;
-moz-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-moz-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.exposition_main_image .buttons a {
line-height: 43px;
width: 260px;
height: 43px;
text-align: center;
color: #fff;
text-decoration: none;
text-transform: uppercase;
border-radius: 5px;
font-family: dindisplay_pro, sans-serif;
font-weight: bold;
font-size: 16px;
text-shadow: 2px 2px 3px rgba(0,0,0,.16);
-webkit-transition: line-height .3s;
-o-transition: line-height .3s;
transition: line-height .3s;
}
.exposition_main_image .buttons a:hover {
line-height: 45px;
box-shadow: inset 0 0 2px rgba(0,0,0,.16);
-webkit-transition: line-height .3s;
-o-transition: line-height .3s;
transition: line-height .3s;
}
.exposition_main_image .buttons a.orange {
background-color: #ff6600;
}
.exposition_main_image .buttons a.green {
background-color: #87c525;
}
.exposition_main_image .buttons a.pink {
background-color: #cc486d;
}
.exposition_main_image .buttons a + a {
margin-top:16px;
}
.i-tags.grey a {
color: #a2a2a2;
}
.expo_description {
font-family: Arial, sans-serif;
color: #333333;
font-size: 16px;
line-height: 28px;
}
.expo_description:after {
content: '';
display: block;
clear: both;
}
.expo_description h2 {
font-family: dindisplay_pro, sans-serif;
font-weight: 400;
font-size: 38px;
}
.expo_description h1,
.expo_description h3,
.expo_description h4,
.expo_description h5,
.expo_description h6 {
font-family: dindisplay_pro, sans-serif;
}
.right_grey_block {
-moz-box-sizing: border-box;
box-sizing: border-box;
background-color: #f2f2f0;
padding: 20px;
border-radius: 5px;
width: 260px;
float: right;
margin: 0 0 10px 40px;
}
.right_grey_block + .right_grey_block {
margin-top: 30px;
}
.expo_description_right {
float: right;
margin: 0 0 40px 40px;
}
.right_grey_block h4{
margin-top: 0;
text-align: center;
font-family: dindisplay_pro, sans-serif;
color: #333333;
font-size: 26px;
font-weight: 100;
margin-bottom: 17px;
}
.exposition_members {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1;
-moz-box-flex: 1;
-ms-flex: 1;
flex: 1;
font-family: dindisplay_pro, sans-serif;
}
.exposition_members > div {
width: 50%;
text-align: center;
padding: 7px;
font-size: 18px;
}
.exposition_members > div + div {
border-left: 1px dotted #cccccc;
}
.exposition_members h5 {
margin-top: 0;
margin-bottom: 15px;
font-weight: 100;
font-size: 18px;
}
.exposition_members span {
font-weight: bold;
}
.right_grey_block .logos {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1;
-moz-box-flex: 1;
-ms-flex: 1;
flex: 1;
-webkit-box-pack: center;
-webkit-justify-content: center;
-moz-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
padding-top: 19px;
}
.right_grey_block .logos .img_wrapper {
width: 46px;
height: 46px;
background-color: #fff;
border-radius: 5px;
box-shadow: 1px 1px 2px rgba(0,0,0,.2);
line-height: 45px;
margin: 0 7px;
text-align: center;
}
.right_grey_block .logos .img_wrapper img{
width: 30px;
height: auto;
display: inline-block;
vertical-align: middle;
}
/*.exposition_participants {
padding-top: 30px;
}
.exposition_participants:after {
content: '';
display: block;
clear: both;
}
.exposition_participants > h3 {
font-family: dindisplay_pro, sans-serif;
font-size: 22px;
font-weight: 500;
color: #333;
}
.exposition_participants ul,
.exposition_participants p{
font-size: 14px;
color: #333333;
}
.exposition_participants li {
margin-bottom: 20px;
}*/
.recommended_expositions .recommended {
padding: 12px 0;
font-family: dindisplay_pro, sans-serif;
}
.recommended_expositions .recommended a{
font-size: 24px;
text-decoration: none;
color: #FF6600;
}
.recommended_expositions .recommended p{
margin: 5px 0 0 0;
font-size: 16px;
font-weight: 100;
color: #333333;
}
.recommended_expositions .recommended + .recommended {
border-top: 1px dotted #ccc;
}
.conference_slider h2 a {
text-decoration: none;
color: #333;
-webkit-transition: color .3s;
-o-transition: color .3s;
transition: color .3s;
}
.conference_slider h2 a:hover {
color: #ff6600;
-webkit-transition: color .3s;
-o-transition: color .3s;
transition: color .3s;
}
#recommended_expositions {
display: none;
}
.exposition_news {
padding-top: 35px;
}
.exposition_news .sect-title span {
font-size: 26px;
font-weight: 500;
color: #333;
} }

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

@ -1,202 +1,204 @@
var EXPO = EXPO || {}; //isolated namespace var EXPO = EXPO || {}; //isolated namespace
EXPO.exposition = EXPO.exposition || {}; EXPO.exposition = EXPO.exposition || {};
if (EXPO.exposition.object){ if (EXPO.exposition.object){
console.warn('WARNING: EXPO.exposition.object is already defined!'); console.warn('WARNING: EXPO.exposition.object is already defined!');
}else { }else {
EXPO.exposition.object = (function () { EXPO.exposition.object = (function () {
// dependencies // dependencies
var com = EXPO.common, var com = EXPO.common,
$waiter; $waiter;
// variables // variables
var that = {}, var that = {},
Note = function (it, opt) { Note = function (it, opt) {
this.opt = opt; this.opt = opt;
this.DOMthis = it; this.DOMthis = it;
this.DOMbutton = it.querySelector('.'+opt.buttonClass); this.DOMbutton = it.querySelector('.'+opt.buttonClass);
this.DOMinput = it.querySelector('.'+opt.inputClass); this.DOMinput = it.querySelector('.'+opt.inputClass);
this.inputName = this.DOMinput.getAttribute('name'); this.inputName = this.DOMinput.getAttribute('name');
this.url = this.DOMbutton.getAttribute('href'); this.url = this.DOMbutton.getAttribute('href');
this._controller(); this._controller();
}; };
Note.prototype = { Note.prototype = {
_init: function () { _init: function () {
}, },
_controller: function () { _controller: function () {
var self = this; var self = this;
$(this.DOMinput).on('blur', function () { $(this.DOMinput).on('blur', function () {
self.send(); self.send();
}); });
$(this.DOMbutton).on('click', function () { $(this.DOMbutton).on('click', function () {
return false; return false;
}); });
}, },
send: function () { send: function () {
var data = {}, var data = {},
response, response,
self = this, self = this,
handler = function (data) { handler = function (data) {
if (data.success){ if (data.success){
console.log('ok'); console.log('ok');
$(self.DOMbutton).addClass('active'); $(self.DOMbutton).addClass('active');
}else{ }else{
console.log('data not send'); console.log('data not send');
} }
}; };
data[this.inputName] = this.DOMinput.value; data[this.inputName] = this.DOMinput.value;
response = com.getRequest(data,this.url,handler); response = com.getRequest(data,this.url,handler);
} }
}; };
that.opt = {}; //свойства по умолчанию that.opt = {}; //свойства по умолчанию
//private //private
$(function () { $(function () {
$waiter = $('#wait-ajax:not(.absolute)').css({'z-index': '8031'}); $waiter = $('#wait-ajax:not(.absolute)').css({'z-index': '8031'});
}); });
// methods // methods
//инициализация общих свойств //инициализация общих свойств
that.init = function (options) { that.init = function (options) {
$.extend(this.opt, options); $.extend(this.opt, options);
var self = this, var self = this,
$visitButtons = $('.'+this.opt.visit.activeClass+', .'+this.opt.visit.passiveClass); $visitButtons = $('.'+this.opt.visit.activeClass+', .'+this.opt.visit.passiveClass);
this.notes = []; this.notes = [];
$('.'+this.opt.note.wrapClass).each(function () { $('.'+this.opt.note.wrapClass).each(function () {
var note = new Note(this,self.opt.note); var note = new Note(this,self.opt.note);
self.notes.push(note); self.notes.push(note);
}); });
$('.'+this.opt.note.wrapDisabledClass).on('click', function () { $('.'+this.opt.note.wrapDisabledClass).on('click', function () {
$.fancybox.open('#pw-login'); $.fancybox.open('#pw-login');
return false; return false;
}); });
com.opt.addCalendarText = this.opt.addCalendarText; com.opt.addCalendarText = this.opt.addCalendarText;
com.opt.removeCalendarText = this.opt.removeCalendarText; com.opt.removeCalendarText = this.opt.removeCalendarText;
/** /**
* visit buttons * visit buttons
*/ */
$visitButtons.off('click'); $visitButtons.off('click');
$visitButtons.on('click', function () { $visitButtons.on('click', function () {
if ($(this).hasClass(self.opt.visit.activeClass)){ if (!$(this).hasClass('no_auth')) {
if ($(this).hasClass(self.opt.visit.activeClass)) {
/**
* I plan to visit /**
*/ * I plan to visit
$('.'+self.opt.visit.activeClass).hide().siblings('.'+self.opt.visit.passiveClass).show(); */
$('.' + self.opt.visit.activeClass).hide().siblings('.' + self.opt.visit.passiveClass).show();
$('#'+self.opt.visit.visitorsListId).append(self.opt.visit.currentHtml);
$('#'+self.opt.visit.somebodyId).removeClass("hidden"); $('#' + self.opt.visit.visitorsListId).append(self.opt.visit.currentHtml);
$('#'+self.opt.visit.nobodyId).addClass("hidden"); $('#' + self.opt.visit.somebodyId).removeClass("hidden");
$('#' + self.opt.visit.nobodyId).addClass("hidden");
}else{
/** } else {
* refuse to visit /**
*/ * refuse to visit
$('.'+self.opt.visit.passiveClass).hide().siblings('.'+self.opt.visit.activeClass).show(); */
$('#'+self.opt.visit.visitorsListId).children(".current").remove(); $('.' + self.opt.visit.passiveClass).hide().siblings('.' + self.opt.visit.activeClass).show();
$('#' + self.opt.visit.visitorsListId).children(".current").remove();
if($('#'+self.opt.visit.visitorsListId).children().length == 0){
if ($('#' + self.opt.visit.visitorsListId).children().length == 0) {
$('#'+self.opt.visit.somebodyId).addClass("hidden");
$('#'+self.opt.visit.nobodyId).removeClass("hidden"); $('#' + self.opt.visit.somebodyId).addClass("hidden");
} $('#' + self.opt.visit.nobodyId).removeClass("hidden");
}
}
return false; }
}); }
/** return false;
* advertise form validation });
*/ /**
$('#'+this.opt.advertise.id).on("submit", function () { * advertise form validation
var formData = $(this).serialize(), */
formUrl = $(this).attr("action"), $('#'+this.opt.advertise.id).on("submit", function () {
$form = $(this), var formData = $(this).serialize(),
/** formUrl = $(this).attr("action"),
* executes after AJAX get request is complete $form = $(this),
* @param data - data recieved from server ex /**
*/ * executes after AJAX get request is complete
handler = function (data) { * @param data - data recieved from server ex
var clearValue = function () { */
$('.err',$form).removeClass("err"); handler = function (data) {
$('.pwf-msg',$form).text(''); var clearValue = function () {
}; $('.err',$form).removeClass("err");
if (data.success != true){ $('.pwf-msg',$form).text('');
clearValue(); };
for (var k in data.errors){ if (data.success != true){
if (data.errors.hasOwnProperty(k)) { clearValue();
$('input[name="'+k+'"]',$form) for (var k in data.errors){
.closest(".required").addClass("err") if (data.errors.hasOwnProperty(k)) {
.siblings(".pwf-msg").text(data.errors[k]); $('input[name="'+k+'"]',$form)
} .closest(".required").addClass("err")
} .siblings(".pwf-msg").text(data.errors[k]);
}
}else{ }
clearValue();
}else{
clearValue();
dataLayer.push({'event': 'advmemberform'}); dataLayer.push({'event': 'advmemberform'});
$('input:text',$form).val(''); $('input:text',$form).val('');
$.fancybox.close(); $.fancybox.close();
} }
$waiter.hide(); $waiter.hide();
}; };
$waiter.show(); $waiter.show();
com.postRequest(formData,formUrl,handler); com.postRequest(formData,formUrl,handler);
return false; return false;
}); });
/** /**
* event news subscribe form validation * event news subscribe form validation
*/ */
$('#'+this.opt.event_news_subscribe.id).on("submit", function () { $('#'+this.opt.event_news_subscribe.id).on("submit", function () {
var formData = $(this).serialize(), var formData = $(this).serialize(),
formUrl = $(this).attr("action"), formUrl = $(this).attr("action"),
$form = $(this), $form = $(this),
/** /**
* executes after AJAX get request is complete * executes after AJAX get request is complete
* @param data - data recieved from server ex * @param data - data recieved from server ex
*/ */
handler = function (data) { handler = function (data) {
var clearValue = function () { var clearValue = function () {
$('.err',$form).removeClass("err"); $('.err',$form).removeClass("err");
$('.pwf-msg',$form).text(''); $('.pwf-msg',$form).text('');
}; };
if (data.success != true){ if (data.success != true){
clearValue(); clearValue();
for (var k in data.errors){ for (var k in data.errors){
console.log(data.errors.hasOwnProperty(k)); console.log(data.errors.hasOwnProperty(k));
console.log(k); console.log(k);
if (data.errors.hasOwnProperty(k)) { if (data.errors.hasOwnProperty(k)) {
$('input[name="'+k+'"]',$form) $('input[name="'+k+'"]',$form)
.closest(".required").addClass("err") .closest(".required").addClass("err")
.siblings(".pwf-msg").text(data.errors[k]); .siblings(".pwf-msg").text(data.errors[k]);
} }
} }
}else{ }else{
clearValue(); clearValue();
dataLayer.push({'event': 'event-news-subscribe-form'}); dataLayer.push({'event': 'event-news-subscribe-form'});
$('input:text',$form).val(''); $('input:text',$form).val('');
$('p#success').show(); $('p#success').show();
if (data.sent == true) { if (data.sent == true) {
window.location = data.redirect_url; window.location = data.redirect_url;
} else { } else {
window.setTimeout(function () { window.setTimeout(function () {
$.fancybox.close(); $.fancybox.close();
}, 1000); }, 1000);
} }
} }
$waiter.hide(); $waiter.hide();
}; };
$waiter.show(); $waiter.show();
com.postRequest(formData,formUrl,handler); com.postRequest(formData,formUrl,handler);
return false; return false;
}); });
}; };
return that; return that;
}()); }());
} }

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t,s=EXPO.common,i={},e=function(t,s){this.opt=s,this.DOMthis=t,this.DOMbutton=t.querySelector("."+s.buttonClass),this.DOMinput=t.querySelector("."+s.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return e.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var t,i={},e=this,o=function(t){t.success?(console.log("ok"),$(e.DOMbutton).addClass("active")):console.log("data not send")};i[this.inputName]=this.DOMinput.value,t=s.getRequest(i,this.url,o)}},i.opt={},$(function(){t=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"})}),i.init=function(i){$.extend(this.opt,i);var o=this,n=$("."+this.opt.visit.activeClass+", ."+this.opt.visit.passiveClass);this.notes=[],$("."+this.opt.note.wrapClass).each(function(){var t=new e(this,o.opt.note);o.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),s.opt.addCalendarText=this.opt.addCalendarText,s.opt.removeCalendarText=this.opt.removeCalendarText,n.off("click"),n.on("click",function(){return $(this).hasClass(o.opt.visit.activeClass)?($("."+o.opt.visit.activeClass).hide().siblings("."+o.opt.visit.passiveClass).show(),$("#"+o.opt.visit.visitorsListId).append(o.opt.visit.currentHtml),$("#"+o.opt.visit.somebodyId).removeClass("hidden"),$("#"+o.opt.visit.nobodyId).addClass("hidden")):($("."+o.opt.visit.passiveClass).hide().siblings("."+o.opt.visit.activeClass).show(),$("#"+o.opt.visit.visitorsListId).children(".current").remove(),0==$("#"+o.opt.visit.visitorsListId).children().length&&($("#"+o.opt.visit.somebodyId).addClass("hidden"),$("#"+o.opt.visit.nobodyId).removeClass("hidden"))),!1}),$("#"+this.opt.advertise.id).on("submit",function(){var i=$(this).serialize(),e=$(this).attr("action"),o=$(this),n=function(s){var i=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=s.success){i();for(var e in s.errors)s.errors.hasOwnProperty(e)&&$('input[name="'+e+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(s.errors[e])}else i(),dataLayer.push({event:"advmemberform"}),$("input:text",o).val(""),$.fancybox.close();t.hide()};return t.show(),s.postRequest(i,e,n),!1}),$("#"+this.opt.event_news_subscribe.id).on("submit",function(){var i=$(this).serialize(),e=$(this).attr("action"),o=$(this),n=function(s){var i=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=s.success){i();for(var e in s.errors)console.log(s.errors.hasOwnProperty(e)),console.log(e),s.errors.hasOwnProperty(e)&&$('input[name="'+e+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(s.errors[e])}else i(),dataLayer.push({event:"event-news-subscribe-form"}),$("input:text",o).val(""),$("p#success").show(),1==s.sent?window.location=s.redirect_url:window.setTimeout(function(){$.fancybox.close()},1e3);t.hide()};return t.show(),s.postRequest(i,e,n),!1})},i}(); var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t,s=EXPO.common,i={},e=function(t,s){this.opt=s,this.DOMthis=t,this.DOMbutton=t.querySelector("."+s.buttonClass),this.DOMinput=t.querySelector("."+s.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return e.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var t,i={},e=this,o=function(t){t.success?(console.log("ok"),$(e.DOMbutton).addClass("active")):console.log("data not send")};i[this.inputName]=this.DOMinput.value,t=s.getRequest(i,this.url,o)}},i.opt={},$(function(){t=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"})}),i.init=function(i){$.extend(this.opt,i);var o=this,n=$("."+this.opt.visit.activeClass+", ."+this.opt.visit.passiveClass);this.notes=[],$("."+this.opt.note.wrapClass).each(function(){var t=new e(this,o.opt.note);o.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),s.opt.addCalendarText=this.opt.addCalendarText,s.opt.removeCalendarText=this.opt.removeCalendarText,n.off("click"),n.on("click",function(){return $(this).hasClass("no_auth")||($(this).hasClass(o.opt.visit.activeClass)?($("."+o.opt.visit.activeClass).hide().siblings("."+o.opt.visit.passiveClass).show(),$("#"+o.opt.visit.visitorsListId).append(o.opt.visit.currentHtml),$("#"+o.opt.visit.somebodyId).removeClass("hidden"),$("#"+o.opt.visit.nobodyId).addClass("hidden")):($("."+o.opt.visit.passiveClass).hide().siblings("."+o.opt.visit.activeClass).show(),$("#"+o.opt.visit.visitorsListId).children(".current").remove(),0==$("#"+o.opt.visit.visitorsListId).children().length&&($("#"+o.opt.visit.somebodyId).addClass("hidden"),$("#"+o.opt.visit.nobodyId).removeClass("hidden")))),!1}),$("#"+this.opt.advertise.id).on("submit",function(){var i=$(this).serialize(),e=$(this).attr("action"),o=$(this),n=function(s){var i=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=s.success){i();for(var e in s.errors)s.errors.hasOwnProperty(e)&&$('input[name="'+e+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(s.errors[e])}else i(),dataLayer.push({event:"advmemberform"}),$("input:text",o).val(""),$.fancybox.close();t.hide()};return t.show(),s.postRequest(i,e,n),!1}),$("#"+this.opt.event_news_subscribe.id).on("submit",function(){var i=$(this).serialize(),e=$(this).attr("action"),o=$(this),n=function(s){var i=function(){$(".err",o).removeClass("err"),$(".pwf-msg",o).text("")};if(1!=s.success){i();for(var e in s.errors)console.log(s.errors.hasOwnProperty(e)),console.log(e),s.errors.hasOwnProperty(e)&&$('input[name="'+e+'"]',o).closest(".required").addClass("err").siblings(".pwf-msg").text(s.errors[e])}else i(),dataLayer.push({event:"event-news-subscribe-form"}),$("input:text",o).val(""),$("p#success").show(),1==s.sent?window.location=s.redirect_url:window.setTimeout(function(){$.fancybox.close()},1e3);t.hide()};return t.show(),s.postRequest(i,e,n),!1})},i}();

@ -10,6 +10,11 @@
<meta property="og:url" content="{{ request.build_absolute_uri }}"> <meta property="og:url" content="{{ request.build_absolute_uri }}">
{% endblock %} {% endblock %}
{% block styles %}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.min.css">
{% endblock %}
{% block bread_scrumbs %} {% block bread_scrumbs %}
<div class="bread-crumbs"> <div class="bread-crumbs">
<a href="/">{% trans 'Главная страница' %}</a> <a href="/">{% trans 'Главная страница' %}</a>

@ -2,26 +2,30 @@
{% load i18n %} {% load i18n %}
{% if news_list %} {% if news_list %}
<div class="rq-to-hide"> <div class="rq-to-hide">
<div class="s-comments"> <div class="s-comments">
<div class="sect-title blog_link"><span>{% trans 'Последние новости' %} {{ object.name }}</span><a class="button more" href="{{ event.get_news_url }}">{% trans 'Все новости' %}</a></div> <div class="sect-title blog_link">
<div class="cat-list sc-comments"> <span>{% trans 'Последние новости' %} {{ object.name }}</span>
{% for news in news_list %} <a class="button more" href="{{ event.get_news_url }}">{% trans 'Все новости' %}</a>
<div class="cl-item"> </div>
<div class="acticle_list">
<a href="{{ news.get_permanent_url }}" title=""> <div class="cat-list sc-comments">
<span class="cli-pict"> {% for news in news_list %}
{% include 'includes/show_logo.html' with obj=news %} <div class="cl-item">
</span> <div class="acticle_list">
</a> <a href="{{ news.get_permanent_url }}" title="">
<h3><a href="{{ news.get_permanent_url }}" title="">{{ news.main_title }}</a></h3> <span class="cli-pict">
<p>{{ news.preview|safe }}</p> {% include 'includes/show_logo.html' with obj=news %}
<strong><span>{{ news.publish_date|date:"d E Y" }}</span><a href="{{ event.get_permanent_url }}" title=""><b>{{ event.name|safe }}</b></a></strong> </span>
</div> </a>
<div class="clearfix"></div> <h3><a href="{{ news.get_permanent_url }}" title="">{{ news.main_title }}</a></h3>
</div> <p>{{ news.preview|safe }}</p>
{% endfor %} <strong><span>{{ news.publish_date|date:"d E Y" }}</span><a href="{{ event.get_permanent_url }}" title=""><b>{{ event.name|safe }}</b></a></strong>
</div> </div>
</div> <div class="clearfix"></div>
</div> </div>
{% endfor %}
</div>
</div>
</div>
{% endif %} {% endif %}

@ -1,5 +1,5 @@
{% load i18n %} {% load i18n %}
<div class="ied-text" style="text-align: justify"> <div class="{% if className %}expo_description_detail{% else %}ied-text{% endif %}" style="text-align: justify">
{% blocktrans with name=expo.name %} {% blocktrans with name=expo.name %}
<p>Выставка {{ name }} проводится{% endblocktrans %} <p>Выставка {{ name }} проводится{% endblocktrans %}
{% include 'client/includes/show_date_block.html' with obj=expo %} {% include 'client/includes/show_date_block.html' with obj=expo %}
@ -18,11 +18,14 @@
<h3>Планируете самостоятельную поездку на {{ name }}?</h3> <h3>Планируете самостоятельную поездку на {{ name }}?</h3>
<p class="text-indent-1-5em">Мы рекомендуем посмотреть отели и цены в период проведения выставки <p class="text-indent-1-5em">Мы рекомендуем посмотреть отели и цены в период проведения выставки
<a href="http://www.booking.com/searchresults.html?aid=333667&city={{ id }}&do_availability_check=on&label=expo_search&lang={{ code }}&checkin_monthday={{ date1 }}&checkin_year_month={{ date2 }}-{{ date3 }}&checkout_monthday={{ date4 }}&checkout_year_month={{ date5 }}-{{ date6 }}">здесь</a>. <a href="http://www.booking.com/searchresults.html?aid=333667&city={{ id }}&do_availability_check=on&label=expo_search&lang={{ code }}&checkin_monthday={{ date1 }}&checkin_year_month={{ date2 }}-{{ date3 }}&checkout_monthday={{ date4 }}&checkout_year_month={{ date5 }}-{{ date6 }}">здесь</a>.
{% endblocktrans %}{% if expo.place %} {% endblocktrans %}
{% blocktrans with name=expo.place.name url=expo.place.url %}Как добраться до выставочного центра {{ name }} можно
посмотреть {% if expo.place %}
<a href="/places/{{ url }}/">здесь</a>.{% endblocktrans %} {% blocktrans with name=expo.place.name url=expo.place.url %}Как добраться до выставочного центра {{ name }} можно
{% endif %} посмотреть
<a href="/places/{{ url }}/">здесь</a>.{% endblocktrans %}
{% endif %}
{% blocktrans with name=expo.name %} {% blocktrans with name=expo.name %}
Не забудьте проверить место и даты выставки на официальном сайте и в календаре выставочного комплекса. Не забудьте проверить место и даты выставки на официальном сайте и в календаре выставочного комплекса.
Событие могут перенести, отменить, объединить с проектом схожей тематики. Событие могут перенести, отменить, объединить с проектом схожей тематики.

@ -90,97 +90,130 @@
</header> </header>
</div> </div>
{% endif %} {% endif %}
</div>
</div>
<div class="event_org"> <hr />
<a href="#pw-event-news-subscribe" class="button pw-open new_subribe_btn"><i class="fa fa-at"></i>&nbsp;{% trans 'Подписаться на новости' %}</a> <div class="i-buttons clearfix">
</div> <div class="ib-main">
{% with event=exposition user=user %}
<hr /> {% include 'client/includes/visit_button.html' %}
{% endwith %}
<div class="i-buttons clearfix"> {% include 'client/includes/calendar_button.html' with obj=exposition %}
<div class="ib-main"> {% if request.user.is_admin %}
{% with event=exposition user=user %} <a target="_blank" class="button green " href="/admin/exposition/{{ object.url }}/">{% trans 'изменить' %}</a>
{% include 'client/includes/visit_button.html' %} {% endif %}
{% endwith %} </div>
{% include 'client/includes/calendar_button.html' with obj=object %} <div class="event_org">
{% if request.user.is_admin %} <a href="#pw-event-news-subscribe" class="button pw-open new_subribe_btn green"><i class="fa fa-at"></i>&nbsp;{% trans 'Подписаться на новости' %}</a>
<a target="_blank" class="button green " href="/admin/exposition/{{ object.url }}/">{% trans 'изменить' %}</a> </div>
{% endif %} </div>
{% if exposition.photogallery_id %} <hr />
<a class="button blue icon-photo" href="{{ exposition.get_permanent_url }}photo/">{% trans 'фото' %}</a> <div class="i-divs clearfix">
{% endif %} <div class="i-subj">
</div> <ul>
<div class="ib-add"><a target="_blank" class="button blue2 icon-find" href="http://www.booking.com/searchresults.html?aid={{ book_aid }}&city={{ object.city.id }}">{% trans 'Найти отель' %}</a></div> {% with themes=exposition.themes %}
</div> {% for theme in themes %}
<li><a href="{{ object.catalog }}theme/{{ theme.url }}/">{{ theme.name }} ({{ theme.expositions_number }})</a></li>
{% endfor %}
{% endwith %}
</ul>
</div>
<div class="i-tags grey">
{% with tags=exposition.tags %}
{% for tag in tags %}
<a href="{{ object.catalog }}tag/{{ tag.url }}/">{{ tag.name }}</a>{% if forloop.counter != tags|length %},{% endif %}
{% endfor %}
{% endwith %}
</div>
</div>
<hr /> {# TODO: в data-background подставить crop 937x244 #}
<div class="exposition_main_image" {% if exposition.main_image %}data-background="{% thumbnail exposition.main_image '937x244' crop='center' %}"{% endif %}>
<div class="buttons">
<a href="#" class="orange">{% trans 'Посетителю' %}</a>
<a href="#" class="green">{% trans 'Экспоненту' %}</a>
{# TODO: Эта кнопка только для платных выставок #}
<a href="#" class="pink">{% trans 'Официальный сайт' %}</a>
</div>
</div>
<div class="i-divs clearfix"> {# {% include 'client/includes/event_steps.html' with event=exposition %}#}
<div class="i-subj">
<ul> {# Описание выставки #}
{% with themes=exposition.themes %} <div class="expo_description">
{% for theme in themes %} <h2>{% trans 'О выставке' %} {{ exposition.name|safe }}</h2>
<li><a href="{{ object.catalog }}theme/{{ theme.url }}/">{{ theme.name }} ({{ theme.expositions_number }})</a></li> <aside class="right_grey_block">
{% endfor %} <h4>{% trans 'Масштаб выставки:' %}</h4>
{% endwith %} <div class="exposition_members">
</ul> <div class="members">
<h5>{% trans 'Участники:' %}</h5>
<span>324234</span>
</div> </div>
<div class="i-tags"> <div class="visitors">
{% with tags=exposition.tags %} <h5>{% trans 'Посетители:' %}</h5>
{% for tag in tags %} <span>324234</span>
<a href="{{ object.catalog }}tag/{{ tag.url }}/">{{ tag.name }}</a>{% if forloop.counter != tags|length %},{% endif %}
{% endfor %}
{% endwith %}
</div> </div>
</div> </div>
</div>
</div>
{% include 'client/includes/exposition/exposition_services.html' with object=exposition %} <div class="logos">
{% if exposition.quality_label.ufi.is_set %}
<div class="img_wrapper">
<img src="{% static 'client/img/approved-logo.png' %}" alt="" title="Approved Event" />
</div>
{% endif %}
{% include 'client/includes/event_steps.html' with event=exposition %} {% if exposition.quality_label.exporating.is_set %}
<div class="img_wrapper">
<img src="{% static 'client/img/exporating_logo.png' %}" alt="" title="Approved Event" />
</div>
{% endif %}
{% if exposition.get_photos %} {% if exposition.quality_label.rsva.is_set %}
{% with photos=exposition.get_photos|slice:"5" %} <div class="img_wrapper">
<hr /> <img src="{% static 'client/img/rsva.jpg' %}" alt="" title="Approved Event" />
<div class="i-photo-slides">
<div class="sect-title"><a href="#">{% trans 'Фотографии с прошлой выставки' %}</a></div>
<div id="ps-photo-gallery" class="ps-photo-gallery swiper-container">
<ul class="swiper-wrapper">
{% for photo in photos %}
<li class="swiper-slide">
<img src="{{ photo.get_display_url }}" alt="" />
</li>
{% endfor %}
</ul>
<div class="re-controls">
<a class="prev" href="#">&lt;</a>
<a class="next" href="#">&gt;</a>
</div> </div>
{% endif %}
</div>
</aside>
<aside class="right_grey_block" id="recommended_expositions">
<h4>{% trans 'Также рекомендуем:' %}</h4>
<div class="recommended_expositions">
<div class="recommended">
<a href="#">Name of exposition</a>
<p>Москва, 8-12 сентября 2017</p>
</div>
<div class="recommended">
<a href="#">Name of exposition</a>
<p>Москва, 8-12 сентября 2017</p>
</div> </div>
</div> </div>
{% endwith %} </aside>
{% endif %}
<div class="i-event-description">
<h2 class="ied-title">{% trans 'О выставке' %} {{ exposition.name|safe }}</h2>
{% if exposition.description %} {% if exposition.description %}
<div class="ied-text">{{ exposition.description|safe }}</div> <div class="expo_description_detail">
{{ exposition.description|safe }}
</div>
{% elif default_description %} {% elif default_description %}
<div class="ied-text" style="text-align: justify"> <div class="expo_description_detail">
{{ default_description|safe }} {{ default_description|safe }}
</div> </div>
{% else %} {% else %}
{% include "client/includes/exposition/default_description.html" with expo=exposition %} {% include "client/includes/exposition/default_description.html" with expo=exposition className="expo_description_detail" %}
{% endif %} {% endif %}
</div> </div>
<hr /> {# TODO: здесь должен быть баннер, проверить его вывод #}
{% include 'client/includes/banners/expo_detail.html' %} {% include 'client/includes/banners/expo_detail.html' %}
<hr>
{# Дополнительная информация #}
<div id="additional" class="i-event-additional clearfix"> <div id="additional" class="i-event-additional clearfix">
<div class="sect-title">{% trans 'Дополнительная информация' %}</div> <div class="sect-title">{% trans 'Дополнительная информация' %}</div>
@ -190,9 +223,14 @@
{% endif %} {% endif %}
<li><a href="{{ exposition.get_permanent_url }}price/">{% trans 'Условия участия' %}</a></li> <li><a href="{{ exposition.get_permanent_url }}price/">{% trans 'Условия участия' %}</a></li>
{% if exposition.statistic_exists %} {% if exposition.statistic_exists %}
<li><a href="{{ exposition.get_permanent_url }}statistic/">{% trans 'Статистика' %}</a></li> <li><a href="{{ exposition.get_permanent_url }}statistic/">{% trans 'Статистика' %}</a></li>
{% endif %} {% endif %}
<li><a href="#" class="find_hotel">{% trans 'Найти отель' %}</a></li>
<li><a href="#" class="car_rent">{% trans 'Арендовать авто' %}</a></li>
<li><a href="#" class="translator">{% trans 'Услуги переводчика' %}</a></li>
</ul> </ul>
<dl class="add-info"> <dl class="add-info">
@ -219,114 +257,103 @@
{% endif %} {% endif %}
{% if exposition.web_page %} {% if exposition.web_page %}
<dt>{% trans 'Веб-сайт' %}:</dt> <dt>{% trans 'Веб-сайт' %}:</dt>
<dd> <dd>
<a target="_blank" href="#" data-type="href" data-hash="1qwer" data-url="{{ exposition.web_page|base64_encode }}" class="link-encode">{{ exposition.web_page }}</a> <a target="_blank" href="#" data-type="href" data-hash="1qwer" data-url="{{ exposition.web_page|base64_encode }}" class="link-encode">{{ exposition.web_page }}</a>
</dd> </dd>
{% endif %} {% endif %}
{% if exposition.get_audience %} {% if exposition.get_audience %}
<dt>{% trans 'Аудитория' %}:</dt> <dt>{% trans 'Аудитория' %}:</dt>
<dd> <dd>{{ exposition.get_audience }}</dd>
{{ exposition.get_audience }}
</dd>
{% endif %} {% endif %}
{% if exposition.get_periodic %} {% if exposition.get_periodic %}
<dt>{% trans 'Периодичность' %}:</dt> <dt>{% trans 'Периодичность' %}:</dt>
<dd>{{ exposition.get_periodic }}</dd> <dd>{{ exposition.get_periodic }}</dd>
{% endif %} {% endif %}
{% if exposition.products %} {% if exposition.products %}
<dt>{% trans 'Экспонируемые продукты' %}:</dt> <dt>{% trans 'Экспонируемые продукты' %}:</dt>
<dd>{{ exposition.products|safe }}</dd> <dd>{{ exposition.products|safe }}</dd>
{% endif %} {% endif %}
{% if exposition.time %} {% if exposition.time %}
<dt>{% trans 'Время работы' %}:</dt> <dt>{% trans 'Время работы' %}:</dt>
<dd>{{ exposition.time|safe }}</dd> <dd>{{ exposition.time|safe }}</dd>
{% endif %} {% endif %}
</dl> </dl>
</div> </div>
<div class="clearfix"> <hr>
<hr /> {% include 'client/includes/booking_block.html' with city=exposition.city place=exposition.place event=exposition %}
{% include 'client/includes/banners/detail_inner.html' %}
</div>
{% include "client/includes/article/articles_in_event.html" with event=exposition news_list=news %}
<hr />
<div class="i-members clearfix"> {# Планируют быть #}
<div class="im-participants"> <div class="conf_visitors">
{% with companies=exposition.company.all|slice:":6" %} {% with visitors=exposition.users.all|slice:":17" %}
{% if companies %} <h3>{% trans 'Планируют быть на' %} {{ exposition.name }}</h3>
{# есть участники #}
<header>
<div class="im-title">{% trans 'Участники' %}</div>
<a class="more" href="{{ exposition.get_permanent_url }}members/">{% trans 'Все участники' %}</a>
</header>
<ul>
{% for company in companies %}
<li>
<a href="{{ company.get_permanent_url }}">
<span class="imp-pict">
{% with obj=company %}
{% include 'includes/show_logo.html' %}
{% endwith %}
</span>
{{ company.name }}
</a>
</li>
{% endfor %}
</ul>
{% else %}
{# нет участников #}
<header>
<div class="im-title">{% trans 'Участники' %}</div>
<p>{% trans 'Привлекайте целевых посетителей на стенд' %}</p>
<p><a href="#pw-advertise" class="button icon-up pw-open" >{% trans 'Рекламировать участника' %}</a></p>
</header>
{% endif %}
{% endwith %}
</div>
<div class="im-visitors">
{% with visitors=exposition.users.all|slice:":17" %}
<header>
<div class="im-title">{% trans 'Посетители' %}</div>
</header>
<ul id="visitors-list">
{% if visitors %}
{# есть посетители #}
{% for user in visitors %}
{% if user == request.user %}
<li class="current"><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li>
{% else %}
<li><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
<a id="somebody" class=" more mb-1em {% if visitors|length > 0 %}{%else%}hidden{% endif %}" href="{{ exposition.get_permanent_url }}visitors/">{% trans 'Все посетители' %}</a> <ul class="visitors-list" id="visitors-list">
{% endwith %} {% if visitors %}
{# есть посетители #}
{% for user in visitors %}
{% if user == request.user %}
<li class="current"><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li>
{% else %}
<li><a href="{{ user.get_permanent_url }}">{{ user.get_full_name }}&nbsp;{% if user.company %}({{ user.company.name }}){% endif %}</a></li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
<p id="nobody" class=" mb-1em {% if exposition.users.all|length > 0 %}hidden{% else %}{% endif %}">{% trans 'Пока никто не отметился на событии.' %}</p> <p id="nobody" class=" mb-1em {% if exposition.users.all|length > 0 %}hidden{% else %}{% endif %}">{% trans 'Пока никто не отметился на событии.' %}</p>
{% with event=exposition user=user %} <p><a id="somebody" class=" more mb-1em {% if visitors|length > 0 %}{%else%}hidden{% endif %}" href="{{ event.get_permanent_url }}visitors/">{% trans 'Все посетители' %}</a></p>
{% include 'client/includes/visit_button.html' %} {% endwith %}
{% endwith %}
</div> {% with event=exposition user=user %}
{% include 'client/includes/visit_button.html' %}
{% endwith %}
</div> </div>
<hr/> {# Слайдер фото с прошлой выставки #}
{% if exposition.area %} {% if exposition.get_photos %}
{% else %} {% with photos=exposition.get_photos %}
{% if exposition.members or exposition.visitors or exposition.foundation_year %} <div class="conference_slider">
<p class="title"> <i class="fa fa-bar-chart">&nbsp;</i>{% trans "Статистика" %}</p> <h2><a href="{{ exposition.get_permanent_url }}photo/">{% trans 'Фотографии с прошлой конференции' %}</a></h2>
{% endif %} <div class="last_photos_slider">
{% for photo in photos %}
{% thumbnail photo.image '936x468' crop="center" as im %}
<a href="{{ exposition.get_permanent_url }}photo/"><img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" alt="" /></a>
{% endthumbnail %}
{% endfor %}
</div>
<div class="last_photos_thumbs">
{% for photo in photos %}
{% thumbnail photo.image '137x95' crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" alt="" />
{% endthumbnail %}
{% endfor %}
</div>
</div>
{% endwith %}
{% endif %} {% endif %}
{% comment %}
<div class="clearfix">
<hr />
{% include 'client/includes/banners/detail_inner.html' %}
</div>
{% endcomment %}
<div class="exposition_news">
{% include "client/includes/article/articles_in_event.html" with event=exposition news_list=news %}
</div>
{% if exposition.members or exposition.visitors or exposition.foundation_year or exposition.area %} {% if exposition.members or exposition.visitors or exposition.foundation_year or exposition.area %}
<div class="e-num-info"> <div class="e-num-info">
{% if exposition.area %} {% if exposition.area %}
@ -352,15 +379,61 @@
</div> </div>
</div> </div>
{% endif %} {% endif %}
<div class="conf_comments">
<h2>{% trans 'Комментарии' %}</h2>
{% for comment in comments %}
<div class="comment">
<div class="comment_author">
{{ comment.user.get_full_name }} <time><i class="fa fa-calendar"></i> {{ comment.created }}</time>
</div>
<div class="comment_text">{{ comment.text }}</div>
<a href="#" data-parent="{{ comment.pk }}" data-user="{{ comment.user.get_full_name }}" class="reply_comment"><i class="fa fa-comment"></i> <span>{% trans "Ответить на комментарий" %}</span></a>
{% for answer in comment.childs %}
<div class="comment">
<div class="comment_author">
{{ answer.user.get_full_name }} <time><i class="fa fa-calendar"></i> {{ answer.created }}</time>
</div>
<div class="comment_text">{{ answer.text }}</div>
</div>
{% endfor %}
</div>
{% endfor %}
{% if user.is_authenticated %}
<div class="сomment_form">
<form action="." method="post" id="comment_form">
{% csrf_token %}
{# {{ commentform.as_p }}#}
<h3>{% trans 'Оставьте свой отзыв:' %}</h3>
<p>
<label for="id_text">Сообщение:</label>
<textarea id="id_text" name="text" placeholder="{% trans 'Введите текст' %}"></textarea>
<button type="submit" class="button">{% trans 'Оставить отзыв' %}</button>
</p>
</form>
</div>
{% else %}
<p class="no_login">{% trans 'Если вы хотите оставить отзыв или комментарий о конференции' %}, <a class="login pw-open" href="#pw-login">{% trans 'авторизуйтесь' %}.</a></p>
{% endif %}
</div>
</div> </div>
{% include 'client/includes/booking_block.html' with city=exposition.city place=exposition.place event=exposition %} <div class="conf_sharing">
{% include 'client/includes/sharing_block_full.html' %}
</div>
<hr /> {# TODO: подставить яндекс метрику #}
{% if exposition.get_nearest_events %} {% if exposition.get_nearest_events %}
<div class="e-cat"> <div class="e-cat">
<div class="sect-title">{% trans 'Другие выставки, которые могут быть вам интересны' %}</div> <div class="sect-title">
{% trans 'Другие выставки, которые могут быть вам интересны' %}
{# TODO: заголовок должен быть "Ближайшие выставки по тематике «Маркетинг, реклама, PR»" #}
</div>
<ul class="cat-list cl-exhibitions"> <ul class="cat-list cl-exhibitions">
{% for exp in exposition.get_nearest_events %} {% for exp in exposition.get_nearest_events %}
<li class="cl-item"> <li class="cl-item">
@ -421,9 +494,11 @@
<li><a class="button more" href="{{ exposition.get_nearest_events_url|safe }}">{% trans 'Смотреть все' %}</a></li> <li><a class="button more" href="{{ exposition.get_nearest_events_url|safe }}">{% trans 'Смотреть все' %}</a></li>
</ul> </ul>
</div> </div>
{% include 'client/includes/banners/detail_inner_3.html' %}
{% endif %} {% endif %}
{# TODO: подставить еще одну рекламу #}
{% include 'client/includes/banners/detail_inner_3.html' %}
<div class="e-cat look-also"> <div class="e-cat look-also">
<div class="sect-title">{% trans 'Смотрите также:' %}</div> <div class="sect-title">{% trans 'Смотрите также:' %}</div>
<a href="{{ exposition.catalog }}city/{{ exposition.city.url }}/">{% trans "Выставки" %} {% if request.LANGUAGE_CODE == 'ru' and exposition.city.inflect %}{{ exposition.city.inflect }}{% else %}{% trans 'in' %} {{ exposition.city.name }}{% endif %}</a> <a href="{{ exposition.catalog }}city/{{ exposition.city.url }}/">{% trans "Выставки" %} {% if request.LANGUAGE_CODE == 'ru' and exposition.city.inflect %}{{ exposition.city.inflect }}{% else %}{% trans 'in' %} {{ exposition.city.name }}{% endif %}</a>
@ -445,9 +520,9 @@
{% block scripts %} {% block scripts %}
{% if request.GET.debug == '1' %} {% if request.GET.debug == '1' %}
<script src="{% static 'client/js/_modules/page.exposition.object.js' %}"></script> <script src="{% static 'client/js/_modules/page.exposition.object.js' %}"></script>
{% else %} {% else %}
<script src="{% static 'client/js_min/_modules/page.exposition.object.min.js' %}"></script> <script src="{% static 'client/js_min/_modules/page.exposition.object.min.js' %}"></script>
{% endif %} {% endif %}
<script> <script>
EXPO.exposition.object.init({ EXPO.exposition.object.init({
@ -475,4 +550,39 @@
removeCalendarText:"{% trans 'Из расписания' %}" removeCalendarText:"{% trans 'Из расписания' %}"
}); });
</script> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.js"></script>
<script>
$(window).load(function () {
$('.last_photos_slider').slick({
slidesToShow: 1,
slidesToScroll: 1,
fade: true,
asNavFor: '.last_photos_thumbs'
});
$('.last_photos_thumbs').slick({
slidesToShow: 5,
slidesToScroll: 1,
asNavFor: '.last_photos_slider',
dots: false,
variableWidth: true,
focusOnSelect: true
});
});
$(function() {
var $recommended = $('#recommended_expositions'),
$text = $('.expo_description_detail'),
$main_image = $('.exposition_main_image');
$recommended
.insertBefore($text.find('>*').eq(-2))
.show();
if ($main_image.data('background')) {
$main_image.css('background', 'url(' + $main_image.data('background') + ')');
}
})
</script>
{% endblock %} {% endblock %}

@ -10,6 +10,6 @@
<a style="display:none;" class="button icon-check unvisit" href="{{ event.get_visit_url }}">{% trans 'Не планирую посещать' %}</a> <a style="display:none;" class="button icon-check unvisit" href="{{ event.get_visit_url }}">{% trans 'Не планирую посещать' %}</a>
{% endif %} {% endif %}
{% else %} {% else %}
<a class="button icon-check visit" href="{{ event.get_visit_url }}">{% trans 'Я планирую посетить' %}</a> <a class="button icon-check visit no_auth" href="{{ event.get_visit_url }}">{% trans 'Я планирую посетить' %}</a>
<a style="display:none;" class="button icon-check unvisit" href="{{ event.get_visit_url }}">{% trans 'Не планирую посещать' %}</a> <a style="display:none;" class="button icon-check unvisit no_auth" href="{{ event.get_visit_url }}">{% trans 'Не планирую посещать' %}</a>
{% endif %} {% endif %}

Loading…
Cancel
Save