Commit 4df28556 authored by andre's avatar andre

новая верстка блога

parent fab9fc75
/** /**
* Created by andre on 21.06.2016. * Created by andre on 21.06.2016.
*/ */
$('form.bids-form').on('beforeSubmit', function(e) { $('form.bids-form').on('click', function(e) {
var form = $(this), xhr = new XMLHttpRequest, filebool = false, file, data = new FormData();
form.find('input, textarea').each(function(){ })
data.append($(this).attr('name'), $(this).val()); \ No newline at end of file
});
if(form.find('input[type=file]').length) {
file = form.find('input[type=file]')[0].files[0];
filebool = !filebool;
data.append("Bid[file]", file);
}
xhr.open("POST", form.attr('action'), true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.send(data);
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4){
try
{
var response = JSON.parse(xhr.responseText);
}
catch(e)
{
var response = xhr.responseText;
}
form.find('.has-error').removeClass('has-error');
if(response.success)
{
if(form.find('.message-box').length > 0)
{
form.find('.message-box').fadeIn('fast');
form.find('.content').css('visibility','hidden');
setTimeout(function(){
form.find('.message-box').fadeOut('fast');
form.find('.content').css('visibility','visible');
}, 2000);
}
form.find('input:not(.not_clear), textarea').val('');
form.find('#files-zone').html('');
$('.dz-preview.dz-processing').remove();
dataLayer.push({
'event': 'UA_event',
'Catagory': form.data('tag'),
'Action': form.data('title'),
'Label': 'Успешно'
});
}
else
{
errors = [];
$.each(response, function(key, value) {
form.find('.field-'+key).addClass('has-error');
errors = errors.concat(value);
});
dataLayer.push({
'event': 'UA_event',
'Catagory': 'Ошибки',
'Action': form.data('form'),
'Label': errors
});
}
}
}
}).on('submit', function(e){
return false;
});
\ No newline at end of file
...@@ -25,7 +25,8 @@ class PostController extends BaseController ...@@ -25,7 +25,8 @@ class PostController extends BaseController
'Load' => 'Подгрузка записей', 'Load' => 'Подгрузка записей',
'Tag' => 'Просмотр тега', 'Tag' => 'Просмотр тега',
'View' => 'Просмотр записи', 'View' => 'Просмотр записи',
'Send-article' => 'Послать статью', 'Send-article' => 'Послать статью',
'Set-cookie' => 'Установить куки',
]; ];
} }
...@@ -187,4 +188,31 @@ class PostController extends BaseController ...@@ -187,4 +188,31 @@ class PostController extends BaseController
throw new NotFoundHttpException('The requested page does not exist.'); throw new NotFoundHttpException('The requested page does not exist.');
} }
} }
/**
* Запишет или удалит хэштэг в куки
* используется на странице блога в списке категорий, для отбора статей по хэштегам
*/
public function actionSetCookie($hashtag)
{
$session = Yii::$app->session;
if($session->isActive)
{
$cookie = $session->get('blog_hashtag');
$cookie = $cookie ? $cookie : [];
$key = array_search($hashtag, $cookie);
if($key !== false)
{
unset($cookie[$key]);
}
else
{
$cookie[] = $hashtag;
}
$session->set('blog_hashtag',$cookie);
}
return true;
}
} }
...@@ -30,7 +30,7 @@ use common\modules\languages\models\Languages; ...@@ -30,7 +30,7 @@ use common\modules\languages\models\Languages;
<div class="categories_form"> <div class="categories_form">
<form> <form>
<?php foreach ($tags as $tag) : ?> <?php foreach ($tags as $tag) : ?>
<input type="checkbox" class="checkbox_btn" id="checkbox-<?= $tag->id ?>"> <input action="<?= \yii\helpers\Url::to(["/blog/post/set-cookie", "hashtag" => $tag->name]) ?>" type="checkbox" class="checkbox_btn" id="checkbox-<?= $tag->id ?>">
<label for="checkbox-<?= $tag->id ?>"><?= $tag->name ?></label> <label for="checkbox-<?= $tag->id ?>"><?= $tag->name ?></label>
<?php endforeach; ?> <?php endforeach; ?>
</form> </form>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment