Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2015, 18:10
Новичок на форуме
Отправить личное сообщение для vasilinavv Посмотреть профиль Найти все сообщения от vasilinavv
 
Регистрация: 07.03.2015
Сообщений: 1

Помогите найти ошибку
В шаблонах для всех страниц выводится чанк Анонсы событий/Реклама разделенные кнопкой. Как сделать если Анонсы есть — то активная кнопка Анонсы, если Анонсов нет — активная кнопка Реклама?

Код:
<div class="announcements_keywords">
  <div class="inner">
	<div class="buttons">
	<div class="inl">Анонсы</div><div class="inl active">Реклама</div>
	</div>
	<div class="items">
	  <div class="announcements" style="display: none;">
		[[!pdoResources?
		&parents=`49`
		&sortdir=`DESC`
		&tpl=`anonsyTpl`
		&limit=`10`
		&includeTVs=`day, month, year`
		]]
	  </div>
	  <div class="article">
		[[!pdoResources?
		&parents=`82`
		&sortdir=`DESC`
		&tpl=`reklamaTpl`
		&limit=`1`
		&includeTVs=`name, tel`
		]]
	  </div>
	</div>
  </div>
</div>

Если значение НЕ пусто (т.е. Анонсы есть), то скрывается блок div.article ("display: none;"), отображается блок div.announcements, добавляется CSS класс .active к первому блоку div в контейнере div.buttons и убирается CSS класс .active у второго (последнего) блока div в контейнере div.buttons

Код:
if ($('.announcements').text()) {
	$('.article').css('display','none');
	$('.announcements').css('display','block');
	$('.buttons div:first').addClass('active');
	$('.buttons div:last').removeClass('active');
}

Последний раз редактировалось vasilinavv, 07.03.2015 в 18:16.
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2015, 03:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А почему клиент должен разбираться что есть, а что пусто? Серверный скрипт, шаблонизатор вами используемый не может этого сам сделать, и вообще не показывать кнопку и блок чанка, которого на момент вывода нет?

Последний раз редактировалось laimas, 08.03.2015 в 04:06.
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2015, 06:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

vasilinavv,
Вынеси код получения анонсов в чанк, допустим Announcements, и вставляй его так:
Код:
[[$Announcements:notempty=`<div class="announcements">[[$Announcements]]</div>`]]
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку shureg Общие вопросы Javascript 4 01.05.2014 16:27
Помогите найти ошибку в вёрстке OlegALL (X)HTML/CSS 1 03.02.2014 11:58
Помогите найти ошибку в простом скрипет Mekasan Общие вопросы Javascript 3 05.08.2013 12:02
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37
Помогите найти ошибку. boneg Элементы интерфейса 1 21.09.2010 22:20