Смена вида материла на jQuery и Cookie
Сайты расширяют свой функционал. Мало того, что они становятся адаптивными, так они еще и становятся удобнее. Одно из таких нововведений, которое сделает ваш сайт более приветливым – смена вида материала. Здесь используется jQuery и Cookies. Это значит, что выбрав один раз нужный вид материалов, пользователь будет видеть именно выбранный до тех пор, пока браузер будет хранить файл Cookies.
В отличии от того, что мы предлагали раньше, сейчас этот скрипт не является столь большой нагрузкой для сайта, правда из-за трех иконок подключать целую библиотеку Font Awesome Я не рекомендую. В той старой версии в виде материалов скрывались целых 2 вида материалов, то есть прямо в коде было 2 материала, а здесь же просто меняются стили, как это и должно быть.
Прилагается демо-страница, где вы можете оцените работу данного скрипта. Переключение плавное и с анимацией, сам дизайн тоже хорош, но напоминает стандартный вид от Bootstrap.
Установка
1. Подключаем Font Awesome.
Между тегами <head>
и </head>
вставляем ссылку на Font Awesome
2) Вставляем CSS.
Устанавливаем код в таблицу стилей:
.item .blog-post-wrapper {
padding: 4px;
border: 1px solid #eee;
border-bottom: 3px double #eee;
background-color: #fff;
width: 100%;
}
.item .figure {
position: relative;
}
.post-thumbnail {
margin-bottom: 20px;
overflow: hidden;
text-align: center;
}
.post-thumbnail img {
opacity: 0.8;
}
.post-thumbnail img:hover {
opacity: 1 !important;
}
.entry-header {
padding: 0 10px;
position: relative;
}
.item .message p {
padding: 0px;
margin: 0px;
}
.item.grid-item .message {
position: relative;
height: 80px;
z-index: 1;
max-width: 100%;
}
.entry-title {
font-size: 16px;
height: 40px;
}
.entry-title a {
color: #282828;
text-decoration: none;
vertical-align: middle;
}
.entry-title a:hover {
color: #68c3a3;
}
.item hr {
padding: 15px 0;
border-bottom: 1px solid #EEEEEE !important;
background: #fff !important;
position: relative;
box-sizing: initial !important;
-moz-box-sizing: initial !important;
}
.entry-meta {
color: #afafaf;
z-index: 2;
position: relative;
background: #fff;
padding: 1px;
}
.entry-meta ul {
padding-left: 0px;
background: #fff;
}
list-inline {
padding-left: 0;
margin-left: -5px;
list-style: none;
}
.entry-meta ul li {
padding: 0 5px;
}
.list-inline>li {
display: inline-block;
padding-right: 5px;
padding-left: 5px;
}
.the-author, .the-time, .the-comments {
position: relative;
padding-left: 15px;
}
.entry-meta ul li a {
display: inline-block;
color: #BBBBBB;
font-weight: 400;
}
.the-author::before, .the-time::before, .the-share::before, .the-comments::before {
font-family: FontAwesome;
position: absolute;
left: 0;
}
.col-sm-4 {
width: 31.133333%;
float:left;
position: relative;
min-height: 1px;
padding-right: 15px;
}
.item.grid-item {
width: 47.6623439788818323292%;
float: left;
position: relative;
min-height: 1px;
padding-right: 10px;
padding-left: 5px;
margin-bottom: 5px;
}
.list-item img {width:100%}
.item.list-item {
margin-bottom: 1em;
width: 97%;
position: relative; min-height: 1px; padding-right: 10px; padding-left: 5px;
}
.item.grid3-item hr {
padding: 0px;
}
.item.grid-item .post-thumbnail img {
height: 250px;
max-width: none !important;
}
.item .entryReadAll {display:none;}
.item.grid3-item {
width: 30.99405002593994323811%;
float: left;
position: relative;
min-height: 1px;
padding-right: 10px;
padding-left: 5px;
margin-bottom: 5px;
}
.grid3-item .post-thumbnail img {
opacity: 0.8;
height: 200px;
max-width: none !important;
}
.grid3-item .entry-title{
font-size: 16px !important;
line-height: 1;
height: 30px;
}
.grid3-item .message {
display: none;
}
.item {
margin-bottom: 1em;
transition: .3s;
}
.the-author::before{
content: "\f044";
}
.the-time::before{
content: "\f133";
}
.the-comments::before{
content: "\f0e6";
}
.view-news-moder{
float:left;
position: absolute;
top: 0px;
right: 0px;
padding: 10px;
}
.btn-group { margin-bottom: 2em;}
.btn-group>.btn:first-child:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.btn-group>.btn:last-child:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group>.btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group .btn {
border-radius: 4px;
background-color: #68C3A3;
padding: 10px 15px;
color: #fff;
margin-bottom: 2em;
}
.btn-group .btn.active,.btn-group .btn:hover {
background-color: #79A898;
}
/*----View materials uGarts-----*/
3) Устанавливаем JS.
Перед закрывающимся тегом </body>
в самом низу шаблона страницы вставляем код:
4) Вставляем кнопки.
Ищем в коде место где вы хотите видеть кнопки и вставляем следующий код:
5) Вставляем вид материалов.
В зависимости от модуля будут меняться переменные $TITLE$
, $NAME$
либо $ENTRY_NAME$
<?if($MODER_PANEL$)?><span class="view-news-moder">$MODER_PANEL$</span><?endif?>
<article class="blog-post-wrapper">
<div class="figure">
<div class="post-thumbnail">
<a href="$ENTRY_URL$"><img title="$TITLE$" src="$IMG_URL1$" alt="$TITLE$"></a>
</div>
</div>
<header class="entry-header">
<h2 class="entry-title"><a href="$ENTRY_URL$" title="$TITLE$"><?if(len($TITLE$)>30)?><?substr($TITLE$,0,30)?><?else?>$TITLE$<?endif?></a></h2>
<div class="message">$MESSAGE$</div>
<hr>
<div class="entry-meta">
<ul class="list-inline">
<li>
<span class="the-author">
<?if($USERNAME$)?><a href="$PROFILE_URL$" tite="Добавил материал $USERNAME$"><?if(len($USERNAME$)>12)?><?substr($USERNAME$,0,12)?><?else?>$USERNAME$<?endif?></a><?else?>Неизвестно<?endif?>
</span>
</li>
<li>
<span class="the-time" tite="Материал добавлен $DATE$ в $TIME$">
$DATE$, $TIME$
</span>
</li>
<li>
<span class="the-comments">
<a href="$COMMENTS_URL$" title="<?if($COMMENTS_NUM$="0")?>Комментариев нет<?else?>комментари<?if($COMMENTS_NUM$%10=0||$COMMENTS_NUM$%10>4||$COMMENTS_NUM$%100>10&&$COMMENTS_NUM$%100<15)?>ев<?else?><?if($COMMENTS_NUM$%10=1)?>й<?else?>я<?endif?><?endif?><?endif?>">$COMMENTS_NUM$</a>
</span>
</li>
</ul>
</div>
</header>
</article>
</div>
Источник: http://ugarts.pro/