Перейти к контенту
  • 0

условие <if test="$author['_online']">


Iven

Вопрос

данное условие <if test="$author['_online']"> используется для определения онлайн или оффлайн пользователь

оно почему то не работает на русской 3.1.0

есть информация что на англ. версии 3.1.0 и 3.1.1 оно адекватно

в чем проблема кто-то знает ?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Все зависит от места использования переменной. Например, в topicViewTemplate конструкция выглядит так:

<if test="postOnline:|:$post['author']['_online']">
							{parse replacement="user_online"}
						<else />
							{parse replacement="user_offline"}
						</if> 

Т.е. перменная онлайн такова - $post['author']['_online']. И она работает.

 

А в каком шаблоне пытаетесь задействовать эту информацию вы?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

А в каком шаблоне пытаетесь задействовать эту информацию вы?

в userInfoPane, для указания статуса пользователя в данный момент

ваш вариант там тоже не работает

что там может работать или может можно подключить требуемый для работы упомянутых условий if модуль или код ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Для userInfoPane переменная и имеет вид $author["_online"]. Равна 1, когда пользователь онлайн, и 0, если оффлайн. Может быть, по какой-то неведомой причине парсер не интерпретирует 1 как true? Попробуйте заменить условие на:

<if test="$author['_online'] == '1'">онлайн<else />оффлайн</if>

 

А вообще у меня и 3.0, и 3.1 русские, и везде работало. Ну или я не замечал) Во всяком случае на 3.1 русской на моем тестовом форуме все работает точно :)

 

 

Просто краткая справка, в порядке оффтопа:

 

 

Как вы уже заметиил, у каждого шаблона есть параметр "Переменные" (Variables), там через запятую перечислены все входящие для обработки данные. Чтобы не гадать, что именно есть в каждом из шаблонов, входящие данные можно вывести сразу на месте. Напримпр, для названного вами шаблона входящие переменные - это:

$author, $contentid, $options

 

Каждая из переменных может быть либо строкой, либо массивом. Узнать просто. Напишите в начало шаблона:

<php>echo $author; die();</php>

На странице темы видим либо данные переменной, либо надпись "array". Поледнее значит, что мы имеем дело с массивом (вообще $author - это стандартный объект пользователя, содержит кучу юзабельной информации). Узнать все его содержимое можно вписав взамен старой в начало userInfoPane такую строку:

<php>print_r($author); die();</php>

(конечно же, делать все это надо на тестовом оффлайн форуме)

 

Собственно, там можно найти и offline, и last_active, и кучу других полезных данных. Успешной вам кастомизации ;)

 

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.