Posted 7 июня, 20213 yr comment_169828 Привет, Позвольте мне попытаться объяснить, что я пытаюсь сделать. Я в основном следовал руководству по добавлению пользовательских цветов и блесток для членов определенных групп. Но это относится только к основным группам. Хотелось примерно так: Если первичная группа - «Администратор», а вторичная - «Донор» -> примените форматирование «Администратор» Если первичная группа - «Член», а вторичная - «Донор» -> примените форматирование «Донор» Возможно ли это? Любая помощь будет принята с благодарностью! Если вы не понимаете, что я имел в виду, дайте мне знать. Я использую Google Translate. 😅
8 июня, 20213 yr comment_169829 Конечно. просто будет больше if else if (первичная группа - «Администратор» и вторичная - «Донор») {примените форматирование «Администратор»}elseif (первичная группа - «Член», а вторичная - «Донор» ){ примените форматирование «Донор»}else{обычное форматирование } тут есть тема, как делать форматирование для группы + логика что я написал = ты успешен вот тема Можно и стилями хитро добиться такого результата
8 июня, 20213 yr Author comment_169831 13 hours ago, accop said: <snip> Думаю, я понял. Но в этой теме учат менять инфопанель. Я просто хотел бы изменить то, как их имена выглядят на страницах форума, если у них есть определенная первичная и вторичная группа. Как это: Если участник находится в основной группе «Администратор» и дополнительной группе «Донор», примените форматирование «Администратор» по умолчанию. Если участник входит в основную группу «Участник» и дополнительную группу «Донор», примените форматирование «Донор». Это имело смысл? Спасибо!
9 июня, 20213 yr Author comment_169832 Игнорируйте последний снимок экрана. Я покопался и подумал, что мне нужно изменить userLink и userLinkFromData. Но я точно не знаю, что в них менять, так как я не программист.
9 июня, 20213 yr comment_169844 Вы всерьёз полагаете, что людям есть дело, какого цвета у кого-то ник?!
9 июня, 20213 yr Author comment_169848 10 minutes ago, Zero108 said: Do you seriously believe that people care what color someone's nickname is ?! Я ищу решение именно потому, что кто-то жаловался, что имена других доноров окрашены, а он нет. Кроме того, я пытаюсь узнать что-то новое. Я новичок в программировании и подумал, что это будет хорошим началом. Для этого тоже есть плагин, но я не смог найти его в Интернете, чтобы я мог его изучить: https://invisioncommunity.com/files/file/9833-secondary-group-formatting/
13 июня, 20213 yr Author comment_169910 Так что мне удалось заставить его работать, отредактировав "userLink". Однако теперь цветные имена отображаются почти везде, что неплохо, но не является обычным явлением. Я попытался добавить к условию «$ groupFormatting», но это применимо только к определенным группам. Остальные группы по-прежнему везде раскрашиваются. У тебя есть идеи, что я могу сделать? @accop Это мой код "userLink": {{if $anonymous}} {lang="post_anonymously_placename"}{{else}} {{$groupFormatting = ( $groupFormatting === NULL ) ? ( ( \IPS\Settings::i()->group_formatting == 'global' ) ? TRUE : FALSE ) : $groupFormatting;}} {{if $member->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' data-ipsHover data-ipsHover-width='370' data-ipsHover-target='{$member->url()->setQueryString( array( 'do' => 'hovercard', 'wr' => $warningRef, 'referrer' => urlencode( \IPS\Request::i()->url() ) ) )}' title="{lang="view_user_profile" sprintf="$member->name"}" class="ipsType_break"> {{if ($member->member_group_id == 8 && $member->mgroup_others == 12)}}<span class="spkDoador">{$member->name} {{else}}{$member->group['prefix']|raw}{$member->name}{{endif}} {{if ($member->member_group_id == 8 && $member->mgroup_others == 12)}}</span> {{else}}{$member->group['suffix']|raw}{{endif}}</a> {{else}}{{if ($member->member_group_id == 8 && $member->mgroup_others == 12)}}<span class="spkDoador">{$member->name} {{else}}{$member->group['prefix']|raw}{$member->name}{{endif}} {{if ($member->member_group_id == 8 && $member->mgroup_others == 12)}}</span> {{else}}{$member->group['suffix']|raw}{{endif}} {{endif}} {{endif}}
13 июня, 20213 yr comment_169911 BlackShot конечно есть идея очень хорошо, что ты разобрался с этим. Сейчас напишу тебе простое решение
13 июня, 20213 yr comment_169912 BlackShot Смотри. Это мой код "userLink". На последней строке я добавил в ссылку класс: {{if $anonymous}} {lang="post_anonymously_placename"}{{else}} {{$groupFormatting = ( $groupFormatting === NULL ) ? ( ( \IPS\Settings::i()->group_formatting == 'global' ) ? TRUE : FALSE ) : $groupFormatting;}} {{if $member->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a class='colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' data-ipsHover data-ipsHover-width='370' data-ipsHover-target='{$member->url()->setQueryString( array( 'do' => 'hovercard', 'wr' => $warningRef, 'referrer' => urlencode( \IPS\Request::i()->url() ) ) )}' title="{lang="view_user_profile" sprintf="$member->name"}" class="ipsType_break">{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}</a>{{else}}{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}{{endif}}{{endif}} Было: ... <a href=' ... Добавил класс: ... <a class='colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href=' ... Получается у тебя есть класс для каждой группы и для связки основной группы и дополнительной если у пользователя только группа администратор (id 4) будет класс = colorFor4 если есть дополнительная группа, будет colorFor43 или colorFor42 Все последующие группы будут добавляться цифрами к этому классу colorFor376 Потом просто добавляешь CSS в custom.css .colorFor376{ color: red!important; } и так добавляешь стили для каждой уникальной связке групп
13 июня, 20213 yr Author comment_169913 34 minutes ago, accop said: BlackShot Смотри. Это мой код "userLink". На последней строке я добавил в ссылку класс: {{if $anonymous}} {lang="post_anonymously_placename"}{{else}} {{$groupFormatting = ( $groupFormatting === NULL ) ? ( ( \IPS\Settings::i()->group_formatting == 'global' ) ? TRUE : FALSE ) : $groupFormatting;}} {{if $member->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a class='colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' data-ipsHover data-ipsHover-width='370' data-ipsHover-target='{$member->url()->setQueryString( array( 'do' => 'hovercard', 'wr' => $warningRef, 'referrer' => urlencode( \IPS\Request::i()->url() ) ) )}' title="{lang="view_user_profile" sprintf="$member->name"}" class="ipsType_break">{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}</a>{{else}}{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}{{endif}}{{endif}} Было: ... <a href=' ... Добавил класс: ... <a class='colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href=' ... Получается у тебя есть класс для каждой группы и для связки основной группы и дополнительной если у пользователя только группа администратор (id 4) будет класс = colorFor4 если есть дополнительная группа, будет colorFor43 или colorFor42 Все последующие группы будут добавляться цифрами к этому классу colorFor376 Потом просто добавляешь CSS в custom.css .colorFor376{ color: red!important; } и так добавляешь стили для каждой уникальной связке групп Вау, отличное решение! Не могли бы вы показать мне, каким будет весь код в "userLink" после всех этих изменений?
13 июня, 20213 yr Author comment_169914 Не берите в голову. Я быстро проверил коды и не заметил, что все было на первой строчке. Я протестирую и дам знать! 😄
14 июня, 20213 yr Author comment_169915 @accop Мы почти на месте. Итак, в custom.css есть следующее: .colorFor812 { color: #c90076; font-size: 102%; background: url(https://i.imgur.com/8wxFgdm.gif) repeat; } "color", "font-size" и "background" работают нормально. Но цвет ни на что не влияет. Вы знаете, почему это так? 🤔
14 июня, 20213 yr comment_169921 BlackShot Используй !important Скорее всего другие стили перекрывают твой. Поэтому надо добавлять !important чтобы повысить приоритет стиля
14 июня, 20213 yr Author comment_169955 8 hours ago, accop said: BlackShot Используй !important Скорее всего другие стили перекрывают твой. Поэтому надо добавлять !important чтобы повысить приоритет стиля Именно в этом была проблема! Ты сделал это!!! 🤩 Однако есть одна небольшая проблема. Каждый, кого я добавляю в custom.css, получает свое имя в темах. Остальные пользователи этого не делают, что является нормальным поведением для IPS. Чтобы решить эту проблему, я добавил в ваш код условие «$ groupFormatting»: <a class='{{if $groupFormatting}}colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}{{endif}}' Так что я предполагаю, что теперь все работает нормально! БОЛЬШОЕ спасибо за вашу доброту и помощь! Я потратил более 5 часов только на то, чтобы вычислить тот последний фрагмент кода, который отправил вам, поскольку я не разработчик и не эксперт. 😅 Еще раз спасибо!!!!! 🥰💛
14 июня, 20213 yr Author comment_169956 @accop У меня почему-то пропала возможность щелкать названия профилей в темах/topics. Я попытался добавить в код еще один "href", но это не помогло. Я постараюсь сделать больше редактирования позже, но не уверен, что разберусь.
14 июня, 20213 yr comment_169957 BlackShot Попробуй восстановить userLink по умолчанию и ещё раз внести правки.
14 июня, 20213 yr Author comment_169958 1 hour ago, accop said: BlackShot Попробуй восстановить userLink по умолчанию и ещё раз внести правки. Я узнал о проблеме после вашего комментария. Ваш код работает нормально. Я добавил условие «$ groupFormatting» даже для части URL. Вот что его сломало. Теперь у меня есть: <a class='{{if $groupFormatting}}colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}{{endif}}' href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' Сейчас вроде все работает нормально. Еще раз спасибо! Я бы отреагировал на ваши сообщения, но в моем аккаунте нет такой возможности, лол. 🥰🤩
17 августа, 20213 yr Author comment_171681 @accop, есть некоторые виджеты, такие как whosOnline, которые используют userLinkFromData вместо userLink, поэтому имена пользователей не отображаются в формате (formatted). Вы знаете, как я могу это изменить? Или как изменить userLinkFromData, чтобы отразить наши изменения? Спасибо!
17 августа, 20213 yr comment_171683 BlackShot если добавить тот же класс в userLinkFromData, изменений тоже нет?
17 августа, 20213 yr Author comment_171684 3 minutes ago, by_ix said: BlackShot если добавить тот же класс в userLinkFromData, изменений тоже нет? Я думаю, что переменные немного разные. Если я это сделаю, это испортит чтение данных. Я пробовал это раньше, и это не сработало. То же самое произошло бы, если бы я изменил whosOnline на userLink вместо userLinkFromData в некоторых файлах. @by_ix eсть ли у вас еще какие-нибудь предложения?
17 августа, 20213 yr comment_171687 1 час назад, BlackShot сказал: Я думаю, что переменные немного разные. сейчас посмотрю. 1 час назад, BlackShot сказал: переменные немного разные в том файле указаны только определённые переменные и нет переменной с айди групп, редачить его в пхп не хочу. поэтому вот: {{if $anonymous}} {lang="post_anonymously_placename"}{{else}} {{$groupid = \IPS\Db::i()->select( 'member_group_id', 'core_members', array ( 'member_id=?', $id ) )->first();}} {{$groupids = \IPS\Db::i()->select( 'mgroup_others', 'core_members', array ( 'member_id=?', $id ) )->first();}} {{if $id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a class='{{if $groupIdForFormatting}}colorFor{$groupid}{{$secondarygroups = implode("", explode(",", $groupids));}}{$secondarygroups}{{endif}}' href='{url="app=core&module=members&controller=profile&id={$id}" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' data-ipsHover data-ipsHover-width="370" data-ipsHover-target='{url="app=core&module=members&controller=profile&id={$id}&do=hovercard" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' title="{lang="view_user_profile" sprintf="$name"}" class="ipsType_break">{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}</a>{{else}}{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}{{endif}} {{endif}} возможно, можно вызвать группу без запроса к бд, другим запросом, по типу "\IPS\Member\Group::load()", но я его не знаю.
17 августа, 20213 yr Author comment_171691 1 hour ago, by_ix said: сейчас посмотрю. в том файле указаны только определённые переменные и нет переменной с айди групп, редачить его в пхп не хочу. поэтому вот: {{if $anonymous}} {lang="post_anonymously_placename"}{{else}} {{$groupid = \IPS\Db::i()->select( 'member_group_id', 'core_members', array ( 'member_id=?', $id ) )->first();}} {{$groupids = \IPS\Db::i()->select( 'mgroup_others', 'core_members', array ( 'member_id=?', $id ) )->first();}} {{if $id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a class='{{if $groupIdForFormatting}}colorFor{$groupid}{{$secondarygroups = implode("", explode(",", $groupids));}}{$secondarygroups}{{endif}}' href='{url="app=core&module=members&controller=profile&id={$id}" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' data-ipsHover data-ipsHover-width="370" data-ipsHover-target='{url="app=core&module=members&controller=profile&id={$id}&do=hovercard" seoTemplate="profile" seoTitle="$seoName ?: \IPS\Http\Url::seoTitle( $name )"}' title="{lang="view_user_profile" sprintf="$name"}" class="ipsType_break">{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}</a>{{else}}{{if $groupIdForFormatting AND ( $groupFormatting === TRUE OR ( $groupFormatting === NULL AND \IPS\Settings::i()->group_formatting == 'global' ) )}}{expression="\IPS\Member\Group::load( $groupIdForFormatting )->formatName( $name )" raw="true"}{{else}}{$name}{{endif}}{{endif}} {{endif}} возможно, можно вызвать группу без запроса к бд, другим запросом, по типу "\IPS\Member\Group::load()", но я его не знаю. Я попытался добавить их в userLink, но это привело к поломке всего макета. 😅
17 августа, 20213 yr comment_171692 BlackShot потому что нужно заменить всё в userLinkFromData. Edited 17 августа, 20213 yr by by_ix
17 августа, 20213 yr Author comment_171693 7 minutes ago, by_ix said: BlackShot потому что нужно заменить всё в userLinkFromData. Ой, как плохо. Я посмотрел на структуру и подумал, что мне нужно изменить userLink, а не userLinkFromData. Я скоро попробую еще раз.
17 августа, 20213 yr Author comment_171695 @by_ixТы удивительный! Теперь все работает нормально. Я сравню исходный код с вашим, чтобы увидеть, что мне нужно было сделать, и, надеюсь, немного узнаю. Спасибо!!!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.