Quzask Опубликовано 12 сентября, 2017 Поделиться Опубликовано 12 сентября, 2017 Всем привет. Мне нужно вывести баланс приложения Points Economy в postCotnainer: Я так понимаю, что за баланс отвечает шаблон currencyUserbit: Нужно вывести в шаблон postContainer: Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Quzask Опубликовано 16 сентября, 2017 Автор Поделиться Опубликовано 16 сентября, 2017 200р на ЯД или WM Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Axeland Опубликовано 16 сентября, 2017 Поделиться Опубликовано 16 сентября, 2017 Можно попробовать поместить шаблон из первого скрина во второй, но это не сработает, т.к. не будет хватать инициирующего условия. В условии должно быть что-то вроде инициализации юзера, разместившего поста, и компонента поинтов, а также наличия этих самых поинтов у юзера. Лень тестить, т.к. нужно ставить поинты. Если кто сможет вывести, то после оплаты поделитесь уж результатом, тоже интересно) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Quzask Опубликовано 16 сентября, 2017 Автор Поделиться Опубликовано 16 сентября, 2017 2 часа назад, Axeland сказал: Можно попробовать поместить шаблон из первого скрина во второй, но это не сработает, т.к. не будет хватать инициирующего условия. Пробовал 2 часа назад, Axeland сказал: Если кто сможет вывести, то после оплаты поделитесь уж результатом, тоже интересно) Хорошо. Самое интересное то, что на стандартном postContainer ничего мудрить не надо. Там все выводиться по умолчанию. Нашел от разработчика такую инструкцию: The following api method can be used to obtain the net worth value of a member for a particular currency. Get A Member's Net Worth class \IPS\points\Currency /** * Get net worth as of a certain date/time * * @param \IPS\DateTime $date The date/time to retrieve the balance for * @param \IPS\Member $member The member to retrieve the balance for * @return int|float */ public function netWorthAsOf( \IPS\DateTime $date=NULL, \IPS\Member $member=NULL ); Example: /* Load a currency */ $currency = \IPS\points\Currency::load( 1 ); /* Load a member */ $member = \IPS\Member::load( 1 ); /* Get the current net worth of the member for the currency */ $worth = $currency->netWorthAsOf( new \IPS\DateTime( 'now' ), $member ); Сделал у себя так: {{$currency = \IPS\points\Currency::load( 1 );}} {{$member = \IPS\Member::load( 94 );}} {{$worth = $currency->netWorthAsOf( new \IPS\DateTime( 'now' ), $member );}} <li class="uip hint hint--right" data-hint="Обычный"> <span class="leftinfo"><i class="fa fa-jpy" data-ipstooltip="" _title="Валюта"></i></span> <span class="rightinfo">{$worth}</span> </li> Код работает, но есть проблема. У всех пользователе выводится баланс одного из пользователей. Там где цифра 94 - это и есть id пользователя. Соответственно, если мы укажем свой id, то наш баланс будет отображаться у каждого. Возвращаемся к сообщению Axeland. Походу нужно сделать 2 часа назад, Axeland сказал: В условии должно быть что-то вроде инициализации юзера, разместившего поста Есть идеи? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
okayvk Опубликовано 16 сентября, 2017 Поделиться Опубликовано 16 сентября, 2017 Можно попробовать так сделать: {{$member = \IPS\Member::load( $comment->author() );}} Сорри, редачить не могу. Точнее вот так: {{$member = \IPS\Member::load( $comment->author()->member_id );}} Quzask и Axeland 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Axeland Опубликовано 16 сентября, 2017 Поделиться Опубликовано 16 сентября, 2017 2 минуты назад, Quzask сказал: Есть идеи? Ага, посмотреть условия, которые делают это в том же пост контейнере. Например, на сообщения и т.п. Попробуйте вместо {{$member = \IPS\Member::load( 94 );}} Что-то вроде этого: {{if $comment->author()->member_id}} А, ну вот или как @okayvk сказал Плохо у меня с логикой условий Quzask 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Quzask Опубликовано 16 сентября, 2017 Автор Поделиться Опубликовано 16 сентября, 2017 1 минуту назад, okayvk сказал: Можно попробовать так сделать: {{$member = \IPS\Member::load( $comment->author() );}} Ошибка: [[Template forums/front/topics/postContainer is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]] Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Axeland Опубликовано 16 сентября, 2017 Поделиться Опубликовано 16 сентября, 2017 1 минуту назад, Quzask сказал: Ошибка: [[Template forums/front/topics/postContainer is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]] Он отредактировал: 3 минуты назад, okayvk сказал: Можно попробовать так сделать: {{$member = \IPS\Member::load( $comment->author() );}} Сорри, редачить не могу. Точнее вот так: {{$member = \IPS\Member::load( $comment->author()->member_id );}} Quzask 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Quzask Опубликовано 16 сентября, 2017 Автор Поделиться Опубликовано 16 сентября, 2017 1 минуту назад, Axeland сказал: Точнее вот так: {{$member = \IPS\Member::load( $comment->author()->member_id );}} Работает В итоге код такой: {{$currency = \IPS\points\Currency::load( 1 );}} {{$member = \IPS\Member::load( $comment->author()->member_id );}} {{$worth = $currency->netWorthAsOf( new \IPS\DateTime( 'now' ), $member );}} <li class="uip hint hint--right" data-hint="Обычный"> <span class="leftinfo"><i class="fa fa-jpy" data-ipstooltip="" _title="Валюта"></i></span> <span class="rightinfo">{$worth}</span> </li> okayvk, так как большую часть задачи я решил самостоятельно, готов 100 перевести на ЯД или ВМ. Если нужно, то скинь реквизиты в ЛС Axeland 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Axeland Опубликовано 16 сентября, 2017 Поделиться Опубликовано 16 сентября, 2017 47 минут назад, Quzask сказал: Работает Вот и замечательно) Вы бы знали, сколько я нервов потратил, чтобы вывести эти значения на 3.х) Так и не вывел) Хорошо, что здесь всё ок. Quzask 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Quzask Опубликовано 16 сентября, 2017 Автор Поделиться Опубликовано 16 сентября, 2017 2 минуты назад, Axeland сказал: Вот и замечательно) Вы бы знали, сколько я нервов потратил, чтобы вывести эти значения на 3.х) Так и не вывел) Хорошо, что здесь всё ок. <span class="rightinfo">{$worth} {$currency->pluralized( $worth )}</span> Добавляем {$currency->pluralized( $worth )}, чтобы отображалось количество и название валюты. Axeland 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SkiFteL Опубликовано 14 декабря, 2017 Поделиться Опубликовано 14 декабря, 2017 Помогите пожалуйста вывести стандартную валюту... с магазина! Приложение не стал ставить... Возможно ли это... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Askr Опубликовано 14 декабря, 2017 Поделиться Опубликовано 14 декабря, 2017 там же есть ручные выплаты через админку. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SkiFteL Опубликовано 14 декабря, 2017 Поделиться Опубликовано 14 декабря, 2017 5 минут назад, Askr сказал: там же есть ручные выплаты через админку. Нет надо также вывести в ПОСТ (слева) Вот тока там переменные другие... Я уже задавал данный вопрос чтобы вывести в профиль, но увы админ мне только дал ссылку на хук как вывести в сайдбар! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VladOr Опубликовано 5 июня, 2018 Поделиться Опубликовано 5 июня, 2018 Напишу вопрос в эту тему. Задача - вывод на стандартном месте, т.е. с использованием шаблона currencyUserbit Его код: <a _title="{$currency->_title}" data-ipsTooltip class="ipsSpacer_top ipsSpacer_half ipsBadge ipsBadge_small ipsBadge_{{if $worth < 0}}style5{{else}}style4{{endif}}" href='{url="app=points&module=points&controller=economy&do=statistics¤cy={$currency->id}"}'> {$currency->display( $worth )} {$currency->pluralized( $worth )} </a> Но. Баланс должен выводиться только в сообщениях, написанных пользователем, который в данный момент просматривает тему. Балансы других юзеров он не видит. Поиграться с условием не удалось, вывалилось в ошибку {{if $comment->author()->member_id}} <a _title="{$currency->_title}" data-ipsTooltip class="ipsSpacer_top ipsSpacer_half ipsBadge ipsBadge_small ipsBadge_{{if $worth < 0}}style5{{else}}style4{{endif}}" href='{url="app=points&module=points&controller=economy&do=statistics¤cy={$currency->id}"}'> {$currency->display( $worth )} {$currency->pluralized( $worth )} </a> {{endif}} Так не заработало. Подскажете? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VladOr Опубликовано 5 июня, 2018 Поделиться Опубликовано 5 июня, 2018 Решил должно быть {{if $comment->author()->member_id == 1}} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Buben2015 Опубликовано 6 июня, 2018 Поделиться Опубликовано 6 июня, 2018 On 6/5/2018 at 2:28 PM, VladOr said: {{if $comment->author()->member_id == 1}} Мне думается, что такое условие сработает только для юзера с id номер 1, например, для вас, если вы админ - установивший форум. Проверили работу под учёткой с другим ID? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VladOr Опубликовано 6 июня, 2018 Поделиться Опубликовано 6 июня, 2018 2 минуты назад, Buben2015 сказал: Проверили работу под учёткой с другим ID? Нет, конечно. Нафига? Все же работает. Вы правы, это, конечно у админа работает. Под другим юзером нет Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Buben2015 Опубликовано 6 июня, 2018 Поделиться Опубликовано 6 июня, 2018 Теперь вместо единицы поставьте в условие тэг получения ID текущего юзера на странице, всё должно заработать, как вы хотели. VladOr 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VladOr Опубликовано 6 июня, 2018 Поделиться Опубликовано 6 июня, 2018 37 минут назад, Buben2015 сказал: Теперь вместо единицы поставьте в условие тэг получения ID текущего юзера на странице, всё должно заработать, как вы хотели. Теперь все работает {{if $comment->author()->member_id == \IPS\Member::loggedIn()->member_id }} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Buben2015 Опубликовано 6 июня, 2018 Поделиться Опубликовано 6 июня, 2018 Всё верно! Предлагаю чуть усложнить условие, чтобы вы (админ) могли видеть это значение у всех во всех постах (ну мало ли): {{ $currMemberId = \IPS\Member::loggedIn()->member_id; $commAuthorId = $comment->author()->member_id; }} {{if $currMemberId == $commAuthorId OR $currMemberId == 1 }} <div class='ipsBla-bla-bla'>Айдишник автора коммента: {number="$commAuthorId"}<br> Между этими дивами любое содержимое для вывода по условию.<br> Это содержимое видно админу во всех постах, а автору поста видно только своё. </div> {{endif}} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VladOr Опубликовано 7 июня, 2018 Поделиться Опубликовано 7 июня, 2018 18 часов назад, Buben2015 сказал: Всё верно! Предлагаю чуть усложнить условие, чтобы вы (админ) могли видеть это значение у всех во всех постах (ну мало ли): {{ $currMemberId = \IPS\Member::loggedIn()->member_id; $commAuthorId = $comment->author()->member_id; }} {{if $currMemberId == $commAuthorId OR $currMemberId == 1 }} <div class='ipsBla-bla-bla'>Айдишник автора коммента: {number="$commAuthorId"}<br> Между этими дивами любое содержимое для вывода по условию.<br> Это содержимое видно админу во всех постах, а автору поста видно только своё. </div> {{endif}} Неа. Не заработало. Ругается на "битые теги РНР" Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Buben2015 Опубликовано 7 июня, 2018 Поделиться Опубликовано 7 июня, 2018 Не, ну инвижинский синтаксис пока ставит меня в тупик Суть — добавить проверку ещё одного условия, а именно: {{if $comment->author()->member_id == \IPS\Member::loggedIn()->member_id OR \IPS\Member::loggedIn()->member_id == 1 }} По свободнячку проверьте пожалуйста. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VladOr Опубликовано 8 июня, 2018 Поделиться Опубликовано 8 июня, 2018 16 часов назад, Buben2015 сказал: Суть — добавить проверку ещё одного условия, а именно: Не заработало. Ошибка та же. Вроде проверка на или правильная, но почему то не хочет принимать Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.