1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Вставка переменных на страницах

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем bolach, 09.07.2012.

Загрузка
  1. bolach

    bolach Пользователь

    Регистрация:
    04.07.12
    Сообщения:
    16
    Симпатии:
    0
    Версия XF:
    1.1.3
    [​IMG]
    Эт шаблон редактирования поля с сообщением, я хочу чтоб внизу под сообщением у пользователей отображался их статус например. для вывода статуса в эту страницу надо ли сделать require страницы где указывается нужная переменная? или можно просто нужную ?переменную вставить? Если 2е то правильно ли я переменную ставлю? {xen:raw $adress} ? $adress конечно другая переменная, но какую бы переменную не ставить, на странице ниче не меняется, если же просто ввести какой нить тест наприсер 7777777 то он появляется
     
  2. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Чтобы переменная появилась в шаблоне, эту переменную надо передать в шаблон (или в контроллере или во вьюклассе).
     
  3. bolach

    bolach Пользователь

    Регистрация:
    04.07.12
    Сообщения:
    16
    Симпатии:
    0
    Версия XF:
    1.1.3
    Yoskaldyr, эт точно? я просто думал что у форума на всех страницах есть шапки.php в которых указываются все основные переменные данных юзера и их самим передавать в определенный шаблон нет необходимости..
    Ну ладно, посмотрю как там оно передается на странице анкеты
    Оп, а переменную то правильно я вывожу?
     
  4. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    точно. и переменную правильно выводите если надо вывести как есть, если с преобразованием в простой текст, то просто {$var} без raw
     
    bolach нравится это.
  5. bolach

    bolach Пользователь

    Регистрация:
    04.07.12
    Сообщения:
    16
    Симпатии:
    0
    Версия XF:
    1.1.3
    Мда.. не выходит. Вставил <xen:require js="js/xenforo/quick_reply_profile.js" /> который взял из шаблона просмотра анкеты юзера, но эт не помогает. По идее без каких либо require должно получится главное знать нужную переменную. Ведь например если в списке сообщений темы, кликнуть на ник любого юзера то всплывает окошко с его данными, и там статус отображается, и это без загрузки страницы.
     
  6. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Что конкретно вы хотите выводить?
    Если какие-то данные текущего посетителя, то практически везде можно использовать переменную $visitor, в которой содержится вся доступная информация по пользователю. К примеру {$visitor.username} выводит имя текущего пользователя.

    То, что вы вставили — это "цепляние" яваскрипта.
     
  7. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Переменная ява-скрипта - это не одно и то же, что переменная в коде PHP. Клик на ник пользователя посылает запрос на сервер, который возвращает сформированный на стороне сервера код HTML. Так как используется AJAX, то перезагрузка страницы не происходит. Если хотите убедиться в этом, можете открыть консоль в том же Firebug и посмотреть, какие запросы идут на сервер.
    В общем, Вы совсем с другой стороны подходите к решению Вашего вопроса. Вам требуется передать в шаблон нужную переменную из PHP-кода, который должен вызываться при формировании массива передаваемых в шаблон переменных. Это требует написания плагина к ксену. Простой правкой шаблона тут не получится обойтись, так как в сам шаблон нужная Вам переменная никаким образом не передается.
     
  8. bolach

    bolach Пользователь

    Регистрация:
    04.07.12
    Сообщения:
    16
    Симпатии:
    0
    Версия XF:
    1.1.3
    Pepelac, $visitor.status выводит статус, только мой собственный статус я буду видеть у каждого юзера.
    infis, я так и не надеялся что вывод яваскрипта поможет, просто в странице анкет пользователей кроме него и css страницы ничего не выводится, как же там образуется эта переменная?! в этом форуме непонятно что за код, то ли рнр толи хмл хрен поймет как к нему подойти
     
  9. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Я и спрашиваю, что вы хотите выводить?
    Если речь идет именно о шаблоне message, то, посмотрев внимательно, вы можете заметить там вот такую штуку
    Код:
        <xen:include template="message_user_info">
            <xen:map from="$message" to="$user" />
        </xen:include>
    Из этой штуки можно сделать вывод, что в переменной $message уже хранятся данные о пользователе, написавшем это конкретное сообщение.
     
    bolach нравится это.
  10. bolach

    bolach Пользователь

    Регистрация:
    04.07.12
    Сообщения:
    16
    Симпатии:
    0
    Версия XF:
    1.1.3
    Pepelac, спасибо! :rolleyes: $message.status, получилось
     

Поделиться этой страницей