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

1.1.4 Добавление дополнительного значения в visitor

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

Загрузка
  1. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Добрый вечер!
    Требуется добавить в шаблон sidebar_visitor_panel дополнительное значение.

    Пример того, куда и что требуется добавить:
    PHP:
     <div class="visitorText">
    <
    h2>{xen:phrase signed_in_as_x_sidebar'name={xen:helper username, $visitor, 'NoOverlay'}'}</h2>
    <
    div class="stats">
    <
    xen:hook name="sidebar_visitor_panel_stats">
    <
    dl class="pairsJustified"><dt>{xen:phrase messages}:</dt> <dd>{xen:number $visitor.message_count}</dd></dl>
    <
    dl class="pairsJustified"><dt>{xen:phrase likes}:</dt> <dd>{xen:number $visitor.like_count}</dd></dl>
    <
    dl class="pairsJustified"><dt>{xen:phrase points}:</dt> <dd>{xen:number $visitor.trophy_points}</dd></dl>
    <
    dl class="pairsJustified"><dt>Новое значение:</dt> <dd>значение</dd></dl>
    </
    div>
    </
    xen:hook>
    </
    div>
    Собственно интересует как это можно сделать.
    P.S. Использовать чужие плагины типа TMS не очень хочется, но если вариантов нет можно будет пояснить как это добавление производится?
    Причем добавиться оно должно будет автоматически при установке плагина)
     
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    А чем Вам расстраивает использование TMS? Тем более, что в версии 1.2 это будет в базовом функционале. Он не влияет на производительность форума, так как работает только в момент компиляции шаблона.
    Можно использовать вариант через хук, но как раз это будет нежелательным, так как в 1.2, возможно, потребует изменения под TMS.
    Ну а с TMS все достаточно просто. Создаете в нем модификацию, где указываете шаблон, искомую строку или строки, а затем результирующую строку/строки. Т.е. банальная замена. Соответственно, если нужно просто после оригинальной строки вставить что-то, то указываете в строку поиска эту оригинальную строку, а в строки замены вставляете и оригинальную строку и то, что должно идти после нее. При компиляции шаблона как раз и получится то, что хотите.
     
  3. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Ясно, спасибо. Буду пробовать)
     
  4. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Все добавил, все работает и все замечательно)
    Теперь не могу понять другую вещь: Создал форму, отправляю информацию(в данном случае количество денежных средств), но вот в чем прикол, хоть и сказал что принимать надо число он принимает вообще все. Никаких ошибок, ничего...
    Хотя должны быть только цифры, причем положительные.
    Сейчас сделано так:
    PHP:
    $OutSum $this->_input->filterSingle('OutSum'XenForo_Input::UINT);
    Я так понимаю оно должно принять значения типа UINT(что оно кстати значит? INT - числа, а UINT? в чем разница?)
     
  5. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    INT (integer) - целые числа, UINT (unsigned integer) - беззнаковые целые, т.е. целое число больше или равное нулю.
     
  6. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Угу, но прикол в том что если я в том поле напишу "привет" он мне и передаст этот привет.
    А то что там должно быть число - это будет проигнорировано, чего быть не должно...
    Или нужно еще дополнительную проверку сделать?
     
  7. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    В DataWriter должна быть проверка.
     
  8. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Угу, а сам DataWriter служит для внесения информации в БД?
     
  9. Pepelac

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

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Да
     
  10. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Хм... тогда зачем нужна модель?...
     
  11. Pepelac

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

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
  12. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Да это знаю и читал)
    Но я просто видимо не понимаю в чем отличие модели от DataWriter)
    Точнее не совсем понимаю. Модель содержит методы для работы с БД, верно?
    А DataWriter существует для проверки данных и внесения их в БД, так?
    Я просто не совсем понимаю где я "не туда" свернул)
     
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Не все так просто, да и не всегда нужно четко разделять модель и датарайтер. А вообще модель обычно отвечает за выборки (чтение из базы), а датарайтер - за запись в базу. Вьювер, как правило, отвечает за отображение. Ну а контроллер занимается событиями. Все, конечно же, условно. Но в общих чертах так.
    Если смотреть именно на разработку под ксен, то проще всего взять какую-нибудь не сложную функцию (функционал), и посмотреть на то, как реализована эта функция. Т.е. там по названию можно увидеть, что за модель используется, как выглядит датарайтер, вьювер и т.д.
     
  14. ApJIeKuHo

    ApJIeKuHo Местный

    Регистрация:
    08.03.13
    Сообщения:
    188
    Симпатии:
    28
    Версия XF:
    1.1.4
    Смотрю, заметил что в модели действительно больше селекты, а в ДР - добавления.
    Вот обновления - вроде видел только в модели.
    Буду дальше думать что и как)
     

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