BlackShot Опубликовано 7 июня, 2021 Поделиться Опубликовано 7 июня, 2021 Привет, Позвольте мне попытаться объяснить, что я пытаюсь сделать. Я в основном следовал руководству по добавлению пользовательских цветов и блесток для членов определенных групп. Но это относится только к основным группам. Хотелось примерно так: Если первичная группа - «Администратор», а вторичная - «Донор» -> примените форматирование «Администратор» Если первичная группа - «Член», а вторичная - «Донор» -> примените форматирование «Донор» Возможно ли это? Любая помощь будет принята с благодарностью! Если вы не понимаете, что я имел в виду, дайте мне знать. Я использую Google Translate. 😅 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 8 июня, 2021 Поделиться Опубликовано 8 июня, 2021 Конечно. просто будет больше if else if (первичная группа - «Администратор» и вторичная - «Донор») {примените форматирование «Администратор»}elseif (первичная группа - «Член», а вторичная - «Донор» ){ примените форматирование «Донор»}else{обычное форматирование } тут есть тема, как делать форматирование для группы + логика что я написал = ты успешен вот тема Можно и стилями хитро добиться такого результата Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 8 июня, 2021 Автор Поделиться Опубликовано 8 июня, 2021 13 hours ago, accop said: <snip> Думаю, я понял. Но в этой теме учат менять инфопанель. Я просто хотел бы изменить то, как их имена выглядят на страницах форума, если у них есть определенная первичная и вторичная группа. Как это: Если участник находится в основной группе «Администратор» и дополнительной группе «Донор», примените форматирование «Администратор» по умолчанию. Если участник входит в основную группу «Участник» и дополнительную группу «Донор», примените форматирование «Донор». Это имело смысл? Спасибо! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 9 июня, 2021 Автор Поделиться Опубликовано 9 июня, 2021 Игнорируйте последний снимок экрана. Я покопался и подумал, что мне нужно изменить userLink и userLinkFromData. Но я точно не знаю, что в них менять, так как я не программист. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zero108 Опубликовано 9 июня, 2021 Поделиться Опубликовано 9 июня, 2021 Вы всерьёз полагаете, что людям есть дело, какого цвета у кого-то ник?! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 9 июня, 2021 Автор Поделиться Опубликовано 9 июня, 2021 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/ Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 13 июня, 2021 Автор Поделиться Опубликовано 13 июня, 2021 Так что мне удалось заставить его работать, отредактировав "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}} accop 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 13 июня, 2021 Поделиться Опубликовано 13 июня, 2021 BlackShot конечно есть идея очень хорошо, что ты разобрался с этим. Сейчас напишу тебе простое решение Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 13 июня, 2021 Поделиться Опубликовано 13 июня, 2021 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; } и так добавляешь стили для каждой уникальной связке групп BlackShot 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 13 июня, 2021 Автор Поделиться Опубликовано 13 июня, 2021 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" после всех этих изменений? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 13 июня, 2021 Автор Поделиться Опубликовано 13 июня, 2021 Не берите в голову. Я быстро проверил коды и не заметил, что все было на первой строчке. Я протестирую и дам знать! 😄 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 14 июня, 2021 Автор Поделиться Опубликовано 14 июня, 2021 @accop Мы почти на месте. Итак, в custom.css есть следующее: .colorFor812 { color: #c90076; font-size: 102%; background: url(https://i.imgur.com/8wxFgdm.gif) repeat; } "color", "font-size" и "background" работают нормально. Но цвет ни на что не влияет. Вы знаете, почему это так? 🤔 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 14 июня, 2021 Поделиться Опубликовано 14 июня, 2021 BlackShot Используй !important Скорее всего другие стили перекрывают твой. Поэтому надо добавлять !important чтобы повысить приоритет стиля Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 14 июня, 2021 Автор Поделиться Опубликовано 14 июня, 2021 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 часов только на то, чтобы вычислить тот последний фрагмент кода, который отправил вам, поскольку я не разработчик и не эксперт. 😅 Еще раз спасибо!!!!! 🥰💛 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 14 июня, 2021 Автор Поделиться Опубликовано 14 июня, 2021 @accop У меня почему-то пропала возможность щелкать названия профилей в темах/topics. Я попытался добавить в код еще один "href", но это не помогло. Я постараюсь сделать больше редактирования позже, но не уверен, что разберусь. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 14 июня, 2021 Поделиться Опубликовано 14 июня, 2021 BlackShot Попробуй восстановить userLink по умолчанию и ещё раз внести правки. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 14 июня, 2021 Автор Поделиться Опубликовано 14 июня, 2021 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}}' Сейчас вроде все работает нормально. Еще раз спасибо! Я бы отреагировал на ваши сообщения, но в моем аккаунте нет такой возможности, лол. 🥰🤩 accop 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 17 августа, 2021 Автор Поделиться Опубликовано 17 августа, 2021 @accop, есть некоторые виджеты, такие как whosOnline, которые используют userLinkFromData вместо userLink, поэтому имена пользователей не отображаются в формате (formatted). Вы знаете, как я могу это изменить? Или как изменить userLinkFromData, чтобы отразить наши изменения? Спасибо! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
by_ix Опубликовано 17 августа, 2021 Поделиться Опубликовано 17 августа, 2021 BlackShot если добавить тот же класс в userLinkFromData, изменений тоже нет? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 17 августа, 2021 Автор Поделиться Опубликовано 17 августа, 2021 3 minutes ago, by_ix said: BlackShot если добавить тот же класс в userLinkFromData, изменений тоже нет? Я думаю, что переменные немного разные. Если я это сделаю, это испортит чтение данных. Я пробовал это раньше, и это не сработало. То же самое произошло бы, если бы я изменил whosOnline на userLink вместо userLinkFromData в некоторых файлах. @by_ix eсть ли у вас еще какие-нибудь предложения? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
by_ix Опубликовано 17 августа, 2021 Поделиться Опубликовано 17 августа, 2021 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()", но я его не знаю. BlackShot 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 17 августа, 2021 Автор Поделиться Опубликовано 17 августа, 2021 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, но это привело к поломке всего макета. 😅 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
by_ix Опубликовано 17 августа, 2021 Поделиться Опубликовано 17 августа, 2021 (изменено) BlackShot потому что нужно заменить всё в userLinkFromData. Изменено 17 августа, 2021 пользователем by_ix BlackShot 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 17 августа, 2021 Автор Поделиться Опубликовано 17 августа, 2021 7 minutes ago, by_ix said: BlackShot потому что нужно заменить всё в userLinkFromData. Ой, как плохо. Я посмотрел на структуру и подумал, что мне нужно изменить userLink, а не userLinkFromData. Я скоро попробую еще раз. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackShot Опубликовано 17 августа, 2021 Автор Поделиться Опубликовано 17 августа, 2021 @by_ixТы удивительный! Теперь все работает нормально. Я сравню исходный код с вашим, чтобы увидеть, что мне нужно было сделать, и, надеюсь, немного узнаю. Спасибо!!! by_ix 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.