Архив - только для чтения |
Сообщество uCoz » Архивариус » Архив » условные операторы и системные коды (архив 27.02.2011) |
условные операторы и системные коды |
Всем добрый день.
Есть вопрос относительно раздела "Фотоальбомы". Я начал усовершенствовать свой раздел "Фотоальбомы", и столкнусля с проблемой. В этом разделе я планировал создать блок информации пользователя. Все бы хорошо, но не получилась одна вещь. Я хотел вывести строку, содержащюю информацию о том, сколько фотографий было добавлено пользователем. Использовал код: $_PHOTO_ENTRIES$. В профиле этот код работает отлично, но добавленый в разделе "Фотоальбомы" - он мёртв. Посоветуйте код (работующий в р. "фотоальбомы" и не только) для вывода информации о том, сколько фотографий было добавлено "мной". Вот скриншот: Заранее спасибо) Прикрепления:
0206550.jpg
(21.1 Kb)
|
Quote (STALKER-Z0NA) Посоветуйте код (работующий в р. "фотоальбомы" и не только) для вывода информации о том, сколько фотографий было добавлено "мной". Code Вами добавлено: <span id="nPhoto"></span> фото. ...... <script> $.get('/index/8', function(data) { var phN=parseInt($('a[href*="photo"] b',$(data)).html()); $('#nPhoto').html(phN) }) </script> Здесь число фотографий сначала преобразуется из строки в число, чтобы при желании его можно было сначала проанализировать (и, к примеру, менять форму следующего за ним слова в выдаваемом тексте). Если это не требуется, то код можно еще упростить. И, конечно, в профиле должно выводиться число материалов пользователя для фотоальбома. Потеряшка - поиск потерянных и помощь бездомным животным в Питере
Сообщение отредактировал YuriT - Вторник, 19 Окт 2010, 21:15:22
|
Quote (sch779) Извини, а зачем здесь $(data)? У меня в подобном коде нормально работает просто data: Потеряшка - поиск потерянных и помощь бездомным животным в Питере
|
Спасибо вам большое. Но при работе данного скрипта происходит проблема. Вместо числа отображается слово "NaN". Проверял на нескольких сайтах. Возможно в скрипте допущена ошибка?
|
Quote (STALKER-Z0NA) Спасибо вам большое. Но при работе данного скрипта происходит проблема. Вместо числа отображается слово "NaN". Проверял на нескольких сайтах. Возможно в скрипте допущена ошибка? Это, наверное, для тех людей, у кого загруженных фотографий вообще нет. Для остальных у меня все работает нормально. Попробуйте тогда заменить внутреннюю часть скрипта на такую: Code $.get('/index/8', function(data) { var ph=$('a[href*="photo"] b',$(data)) $('#nPhoto').html(ph.length>0 ? ph.html() : '0') }) Потеряшка - поиск потерянных и помощь бездомным животным в Питере
|
YuriT, Спасибо. Но проблема с подсчетом фотографий осталась. Теперь пишет, что "Вами добавлено: 0 фото". Хотя мною добавлено много фотографий.
Добавлено (20-Окт-2010, 18:48:22)
Code <?if($MYINF_20$=$USER_ID$1)?>★★★★★<?else?> <?if($MYINF_20$=$USER_ID$2)?>★★★★<?else?> <?if($MYINF_20$=$USER_ID$3)?>★★★<?else?> <?if($MYI NF_20$=$USER_ID$4)?>★★<?else?> <?if($MYINF_20$=$USER_ID$5)?>★<?else?> <?endif?><?endif?><?endif?><?endif?><?endif?> Но эта система почему то не работает. Что я сделал неправильно? |
Quote (STALKER-Z0NA) Что я сделал неправильно? В профиле пользователя переменная $USER_ID$ принимает значение ид-кода текущего пользователя, кто просматривает сейчас эту страницу, а не ид-кода пользователя, чей профиль просматривают! В твоем коде надо использовать $_USER_ID$ |
Quote (STALKER-Z0NA) проблема с подсчетом фотографий осталась. Теперь пишет, что "Вами добавлено: 0 фото". Хотя мною добавлено много фотографий. А вообще-то на странице профиля выводится количество материалов пользователя? И браузер, случайно - не Опера версии младше 9.63 ? У Оперы есть проблемы с определением времени окончания подгрузки, так что в ней все скрипты такого типа могут работать неправильно. В общем, по какой-то причине скрипт вообще не видит в профиле кусочка с числом фотографий. По какой - надо уже смотреть конкретно "по месту". Потеряшка - поиск потерянных и помощь бездомным животным в Питере
|
STALKER-Z0NA, я что-то не совсем "вьехал" в твой код поределения кол-ва звездочек!
$MYINF_20$, если я правильно понял, возвращает список типа: 101 112 203 154 и т.д. Поэтому условие ($MYINF_20$=$USER_ID$1), для пользователя с ID=20, будет сравнивать строку, в которой находится вышеуказанный список, с числами201,202,203,204,205. Так что, тебе нужно не просто сравнивать, а делать поиск числа "$USER_ID$n" в списке $MYINF_20$. Что-то типа: Code <?if(strpos($MYINF_20$,$USER_ID$1)> -1)?>★★★★★<?else?> <?if(strpos($MYINF_20$,$USER_ID$2) > -1)?>★★★★<?else?> <?if(strpos($MYINF_20$,$USER_ID$3) > -1)?>★★★<?else?> <?if(strpos($MYINF_20$,$USER_ID$4) > -1)?>★★<?else?> <?if(strpos($MYINF_20$,$USER_ID$5) > -1)?>★<?else?> <?endif?><?endif?><?endif?><?endif?><?endif?> Правда, в этом случае может быть ложное срабатывание, если, к примеру, в списке есть пользователь 21 на любом месте и ID текущего пользователя = 2 - в этом случае первый-же оператор сравнения strpos('...213...',21) выдаст истину! |
Можно ли с помощью условных операторов реализовать формулы? Например, А=В+С
www.SoftPresident.ru - интернет-магазин лицензионного программного обеспечения
|
Николай_Иванов, В панели управеления сайтом есть описание всех функций Условных Операторов . Управление дизайном , открыть шаблон страниц сайта например , внизу список системных кодов для этого шаблона и в конце ссылка [?] на HELP Условных операторов ...
Сообщение отредактировал Miss_Esq - Четверг, 21 Окт 2010, 13:45:19
|
Quote (Николай_Иванов) Например, А=В+С Увы, в данный момент язык шаблонов uCoz не позволяет создавать свои переменные. Поэтому ответ на Ваш вопрос будет - "частично возможно". Т.е., можно писать формулы для вычисления и сразу-же использовать их результат для вставки в код страницы или в JS-коде, НО нельзя сохранять результат их вычисления в шаблонных переменных. Таким образом, нельзя реализовать что-то типа: Code <? $B$ = 10+20 ?> <? $C$ = 30*50 ?> <? $A$ = $B$ + $C$ ?> Но можно так: Code <script type="text/javascript"> var B = <? 10+20 ?> var C = <? 30*50 ?> var A = B + С ... </script> |
Quote (sch779) Но можно так: Потеряшка - поиск потерянных и помощь бездомным животным в Питере
Сообщение отредактировал YuriT - Четверг, 21 Окт 2010, 17:25:20
|
Ну, я имел в виду не такое простое использование!
К примеру, я таким образом, на основе IP-адреса пользователя, его ID-кода и временного штампа формирую в шаблоне ключ авторизации, который передаю в запросе на удаленный сервер и получаю от него некие данные, связанные с этим пользователем. Т.е., если посмотреть в HTML-исходник сформированной страницы, то там виден только ключ, но никому не известен алгоритм его формирования! Это, имхо, проще, чем использовать авторизацию средствами удаленного сервера и/или куки. Было-бы вообще здорово, если-бы разработчики ввели в шаблоны возможность использования хотя-бы временных пользовательских переменных для хранения промежуточных результатов! Code <?if((substr($TIME$,-2) % 4) = 0)?>$MYINF_1$<?else?> <?if((substr($TIME$,-2) % 4) = 1)?>$MYINF_2$<?else?> <?if((substr($TIME$,-2) % 4) = 2)?>$MYINF_3$<?else?> <?if((substr($TIME$,-2) % 4) = 3)?>$MYINF_4$<?else?> <?endif?><?endif?><?endif?><?endif?> Хотя это далеко не то, что хотелось - запросто может получиться так, что пользователь будет обновлять страницу раз в 4 минуты и постоянно видеть один и тот-же информер! |
| |||