Войти

Все для создания сайта

Начало » Статьи » UcoZ - сервисы » Решения по дизайну.

Частные случаи использования %IF%.

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

  1. Вывод разного текста приветствия в зависимости от времени суток.
    %IF($HOUR$>17)%Добрый вечер%ELSE%
    %IF($HOUR$>12)%Добрый день%ELSE%
    %IF($HOUR$>5)%Доброе утро%ELSE%
    Доброй ночи
    %ENDIF%
    %ENDIF%
    %ENDIF%.
  2. Вывод различной информации в зависимости от того, как долго пользователь зарегистрирован на сайте.
    %IF($USER_REG_DAYS$>100)%Information1%ELSE%
    %IF($USER_REG_DAYS$>60)%Information2%ELSE%
    %IF($USER_REG_DAYS$>30)%Information3%ELSE%Information4
    %ENDIF%
    %ENDIF%
    %ENDIF%.

    Вместо текста Information1-Information4 подставляется разная информация. Кодом выше буквально прописывается: если пользователь на сайте более 100 дней, вывести Information1, более 60 дней Information2, более 30 Information3 и, наконец, если он на сайте менее месяца, то Information4. Это нужно для внесения игрового акцента во взаимодействие системы с пользователем. Слова разработчика в комментариях к глобальному коду $USER_REG_DAYS$: "Код $USER_REG_DAYS$ является очень интересным расширением, так как позволит выводить разную информацию в зависимости от давности регистрации пользователя, так, например, если пользователь зарегистрирован меньше чем 7 дней назад, можно выводить какое-то предупреждение для него, а "старых" пользователей (которые зарегистрированы более 100 дней назад) приветствовать особым образом или выводить какую-то ценную информацию для них (например, список красивых ICQ номеров с паролями). Это реализуется с помощью условных блоков с проверками на больше-меньше с любыми числами и комбинациями условий. Все зависит от вашей фантазии."

    Заметим, составление подобных конструкций строится из следующих соображений: вначале проверяется соответствие значения кода на большее число в области возможных значений, затем по нисходящей. То есть, мы в самом начале должны исключить возможность соответствия условию нескольких значений. Например, если мы напишем вначале проверку на $USER_REG_DAYS$>30, то этому условию будет соответствовать весь диапазон на числовой прямой, который расположен правее 30(а это и 60 и 100), нам же нужно ограничение. Если же мы вначале проверим и тем самым отсечем значения правее 100 и 60, то нужно ожидать, что у нас значение меньшее 100 и 60(раз уж проверку на это прошли) и смело выводить информацию, предназначенную для этого числового диапазона. Для понимания возьмите кол-во зарегистрированных дней равным 55, затем 65, и так далее и посмотрите что происходит при анализе, если делать проверки вначале на меньшие значения.

Категория: Решения по дизайну. | Добавил: design (10.04.07) | Автор: evra
Просмотров: 2680 | Комментарии: 2 | Рейтинг: 5.0 |
Комментарии
Всего комментариев: 2
2 28.05.08, 09:32 от MurVIP
Я уже сам разобрался wink

1 27.05.08, 15:33 от MurVIP
Большое спасибо )
Ответ: пожалуйста, кстати, в статье дан устаревший формат if-ов, ну просто заменить на новый - в панеле он описан. (<?if(условие)?><?else?><?endif?>)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]