Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.09.2014, 21:41
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

как сделать, что бы при клике по ссылке меню значение обнулялось и считалось заново?
Хотя бы просто исчезало оповещение.
У меня 5 категорий, а код один, и при добавлении материалов в последующих категориях меню num суммируется, может им как то id присвоить?



в обеих категориях по 2 новых материала, последующая категория суммирует

Последний раз редактировалось robertbat, 22.09.2014 в 23:13.
Ответить с цитированием
  #12 (permalink)  
Старый 23.09.2014, 08:12
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

num откуда берется, ваш js как то формирует или с сервера тянется?
Ответить с цитированием
  #13 (permalink)  
Старый 23.09.2014, 10:02
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Это один и то же скрипт на всё. Ему подается 2 даты - когда дата1 минус дата2 меньше 0 он собирает сущность в коллекцию. Вот и все. Когда юзер щелкнул - дата1 стала больше дата2 и тот же самый скрипт уже ничего не соберет, а рендер, соответственно, ничего не покажет.

Надо нормализовать. Например модель собирает сущности в массив.

var items=[];
// собирает

А вьюха этот массив рендерит

for(var i=0; i<items.length//... тут рендер

и все. Если в items пустой массив, этот for закончится не начавшись и не надо никакие if else end if специально вставлять - оно само все проканает, автоматически, по нормальной логике.

ЗЫ На этом как и на любом форуме есть точно такая же фича - вам показывают красным темы даты обновления которых больше даты вашего последнего посещения. Если их посчитать то можно вывести как число в заголовок рубрики. Стопицот лет так делают и до сих пор вишь проблемы

Последний раз редактировалось kostyanet, 23.09.2014 в 10:06.
Ответить с цитированием
  #14 (permalink)  
Старый 23.09.2014, 10:05
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Щас попробую обьяснить. Я создал 5 стандартных информера в юкоз под каждую категорию(файлы, виде, альбом), которые выводят последние добавленные материалы, на любую страницу сайта кодом:
$MYINF_X$, где X- номер информера.
Удалив стандартные шаблоны информеров во все вставил код:

Код:
if ('$DATE$'==cur_date){num++;}
т.е. создалось условие , если материал добавляется сегодня, то нумеровать.
В шапку вставил код:

<script type="text/javascript"> 
cur_date=$DATE$; num=0;
</script>


теперь нумерация начинается с ноля.
Вывел информеры в пунктах меню кодом:
<script type="text/javascript"> $MYINF_X$;
document.write('<span class="badge">'+num+'</span>)</script>


Т.к. код во всех шаблонах информеров одинаковый, то значение num работает не правильно.
Если добавляю материал в файлы:
Файлы 1 , Видео 0.
Следом добавляю в видео:
Файлы 1, Видео 2(вместо 1,т.е. в общем то у нас добавлено 2 материала разных категорий , а num для них один)
Как то так, фуххх)

Последний раз редактировалось robertbat, 23.09.2014 в 18:38.
Ответить с цитированием
  #15 (permalink)  
Старый 23.09.2014, 10:09
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Короче, рендер для юкоза тут не при чем - с козой вам самому придется разбираться и я верю что под ихнее АПИ у них есть свой форум.

Название темы такое что сразу и не поймешь. Потому что если нет данных - то и показывать нечего, ну или можно показат "нет данных".
Ответить с цитированием
  #16 (permalink)  
Старый 23.09.2014, 10:11
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от robertbat
Я создал 5 стандартрых информера в юкоз
Проприетарно. К проприетару и притесь. Что за стандартные информеры, что за юкоз, почему document.write а не someelem.innerHTML - хз кто знает.

Цитата:
Т.к. код во всех шаблонах информеров одинаковый,
Ну то есть у вас прямо в рендере зашиты коды. Типичный идиотизм юкоза. Вам другие хостинги нипонраву?

ЗЫ С трудом сообразил, поскольку такое уже не встречается. Это у него значит шаблон сам себя рендерит. Ну ясень пень тогда сколько шаблонов - столько и одинаковых кодов будет, с небольшими отличиями.

Последний раз редактировалось kostyanet, 23.09.2014 в 10:14.
Ответить с цитированием
  #17 (permalink)  
Старый 23.09.2014, 10:19
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Делается не так. Делается вот так. Имеется скрипт который собирает данные и который один только все знает - ну то есть в нем вся ваша инициатива, он знает кто как зовется, откуда что брать и все такое.

Этот скрипт куда-то, абсолютно не важно куда - валит данные в неком принятом и приятном для вас формате. В какую-нить переменную, да хоть прямо в window. Это - model.

Если этот скрипт совмещает и функцию контроллера, то завалив данные он же вызывает модули рендера по обстоятельствам - по адресам, по действиям юзера и тп.

Модуль рендера - view - берет данные из условленного места и тупо превращает их в элементы страницы или интерфейса юзерского. В нем минимальная логика, ну там типа если тут пусто, то вывести синим, а иначе красным то, что не пусто, или не выводить ничего.

Ваши шаблоны - это вьюхи. Сами они думать не должны. Иначе вы никогда не напишите ничего.
Ответить с цитированием
  #18 (permalink)  
Старый 23.09.2014, 10:29
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Нет, шаблоны информеров были разными, пока я не вставил свой получилось что при добавлении материала их количесиво плюсуется в одной категори, а не делится в каждой категоии свое количество добавленых материалов.
Пробовал разделить num, num1,num2... все работает, но при добавлении еще материалов выше 1 зна чение не поднимается.
Ответить с цитированием
  #19 (permalink)  
Старый 23.09.2014, 10:35
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Еще раз. Ваша задача настолько банальна, что места нет живого. Шаблоны которые сами себя рендерят ежу понятно будут разными пока вы не захотите взять кусочек из того шаблона и вставить в этот - для красоты. И все, с этого момента пластилиновая технология даст о себе знать.
Ответить с цитированием
  #20 (permalink)  
Старый 23.09.2014, 10:40
Аспирант
Отправить личное сообщение для robertbat Посмотреть профиль Найти все сообщения от robertbat
 
Регистрация: 21.09.2014
Сообщений: 36

Ок, спасибошки, буду у козы спрашивать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как корректно подгрузить резервный файл JS, если с основным проблема? Simba Общие вопросы Javascript 3 28.01.2012 19:20
Как вызвать функцию если менять надо не все параметры? britanik Общие вопросы Javascript 3 07.03.2009 23:13
Как получить ширину таблицы в пикселях, если в HTML она указана в процентах JackM Общие вопросы Javascript 2 13.02.2009 10:15
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09
Как сравнить класс, если их много!? Sc@M Events/DOM/Window 16 29.08.2008 12:47