murzic Опубликовано 10 августа, 2020 Поделиться Опубликовано 10 августа, 2020 Привет! Я хочу что-то сделать, но не очень получается... У меня есть такой код: {{if in_array ( \IPS\Member::loggedIn()->member_group_id, array ( 4 ) ) }} код HTML {{endif}} Я хочу сделать это, если кнопка X серая предназначена для участников, я хочу, чтобы она была другого цвета для премиум-класса. Но чтобы задать настройки CSS, мне нужен ключевой код, например: .theme[data-role='member_group_id'] { ...... ..... .... .... } Надеюсь, вы понимаете, что я имел в виду. Спасибо за внимание ... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Maiden8 Опубликовано 10 августа, 2020 Поделиться Опубликовано 10 августа, 2020 Пляши отсюда, там уже шаблон есть, добавить классы и цветные кнопки только https://invisioncommunity.com/news/community-management/theme-tip-use-html-logic-to-display-content-to-specific-groups-r957/ SlawkA 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 25 августа, 2020 Автор Поделиться Опубликовано 25 августа, 2020 В 10.08.2020 в 12:56, Maiden8 сказал: Пляши отсюда, там уже шаблон есть, добавить классы и цветные кнопки только https://invisioncommunity.com/news/community-management/theme-tip-use-html-logic-to-display-content-to-specific-groups-r957/ Я знаю это. Этим методом я должен удвоить все блоки, чтобы придать стиль другой группе. Я хочу настроить через CSS, это проще. Добавить идентификатор или класс, и все готово Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
WaNted Опубликовано 25 августа, 2020 Поделиться Опубликовано 25 августа, 2020 <a href='#' class='button group_{member.member_group_id}'>Кнопка</a> .button { } .button.group_1 { } .button.group_4 { } ololsh 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 25 августа, 2020 Автор Поделиться Опубликовано 25 августа, 2020 3 минуты назад, WaNted сказал: <a href='#' class='button group_{member.member_group_id}'>Кнопка</a> .button { } .button.group_1 { } .button.group_4 { } Попробую, вернусь с ответом... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
WaNted Опубликовано 25 августа, 2020 Поделиться Опубликовано 25 августа, 2020 {member.member_group_id} замените только на {member="member_group_id"}, ошибся. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 25 августа, 2020 Автор Поделиться Опубликовано 25 августа, 2020 ok Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 25 августа, 2020 Автор Поделиться Опубликовано 25 августа, 2020 1 час назад, WaNted сказал: <a href='#' class='button group_{member.member_group_id}'>Кнопка</a> .button { } .button.group_1 { } .button.group_4 { } Хороший метод Но Было бы лучше, если бы могли добавить этот код: group_ {member.member_group_id} в CSS, но не тот, который показывает в HTML. Я имею в виду вот так CSS: .button [group_{member="member_group_id"}] { ............... ...... } что-то в этом вроде А не так: .button group_1 { ............. .... } чуть не забыл, хорошо было бы чтобы ID не определился авто под каждой групой, а прописать самому ID группы что-то в этом вроде: group_{member="member_group_4"} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 25 августа, 2020 Поделиться Опубликовано 25 августа, 2020 .button { {{if \IPS\Member::loggedIn()->member_group_id === 4}} color: white; {{else}} color: red; {{endif}} } Respected, alexis и Maiden8 3 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 10 часов назад, ZIKURIK сказал: .button { {{if \IPS\Member::loggedIn()->member_group_id === 4}} color: white; {{else}} color: red; {{endif}} } не работает, или я что-то не так делаю добавил ID класс к моему коду, вот так: #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id === 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } когда захожу под пользователя VIP всё также Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 1 час назад, murzic сказал: #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id === 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } проверил, странно работает если сравнение без тождественности, вместо "===" используй "==" #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id == 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ololsh Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 1 час назад, ZIKURIK сказал: странно работает если сравнение без тождественности, вместо "===" используй "==" Ничего странно, все данные из бд возвращаются в виде string-а, а в коде сравнивается типа integer и конечно они не будут равны. Какой-то новомодный стиль в php пихать направо и налево сравнение по типу. Как я устал от этого уже, приходится спорить часами - если значение не может быть иметь разные типы данных которые приводятся к другому формату при сравнения тогда не имеет смысла использовать сравнение по типу. 2ТС@WaNtedвам подсказал правильный вариант. Файла CSS кешируются на диске, использовать там php переменные не имеет смысла. WaNted 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 18 минут назад, ololsh сказал: Ничего странно, все данные из бд возвращаются в виде string-а, а в коде сравнивается типа integer и конечно они не будут равны. Какой-то новомодный стиль в php пихать направо и налево сравнение по типу. Как я устал от этого уже, приходится спорить часами - если значение не может быть иметь разные типы данных которые приводятся к другому формату при сравнения тогда не имеет смысла использовать сравнение по типу. 2ТС@WaNtedвам подсказал правильный вариант. Файла CSS кешируются на диске, использовать там php переменные не имеет смысла. код брался из статьи выше https://invisioncommunity.com/news/community-management/theme-tip-use-html-logic-to-display-content-to-specific-groups-r957/ Все предъявы к изобретателям из их команды. CSS можно использовать и в шаблонах html. В 4.5, у меня в CSS файле работает и такая связка {{$b = \IPS\Member::loggedIn()->member_group_id;}}{$b} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 3 часа назад, ZIKURIK сказал: проверил, странно работает если сравнение без тождественности, вместо "===" используй "==" #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id == 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } у меня уже голова разболелась, от этого, никак не хочет работать Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ololsh Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 48 минут назад, ZIKURIK сказал: код брался из статьи выше https://invisioncommunity.com/news/community-management/theme-tip-use-html-logic-to-display-content-to-specific-groups-r957/ Был не прав, как не парадоксально но ид пользователя действительно типа int (видимо все же работает ORM). Значит точное сравнение должно работать и в доках написано правильно. 51 минуту назад, ZIKURIK сказал: CSS можно использовать и в шаблонах html. Можно css и в шаблоне, можно указать стиль непосредственно элементу... 53 минуты назад, ZIKURIK сказал: В 4.5, у меня в CSS файле работает и такая связка {{$b = \IPS\Member::loggedIn()->member_group_id;}}{$b} Если css будет кешироваться, то использование такой конструкции бессмысленно, ибо файл закешируется от текущего пользователя и все условия будут применены для остальных пользователей. Хотя возможно php исполняется в нем при каждой загрузке страницы, не знаю, но на мой взгляд это не оптимально. По моему хороший вариант это который предложил @вантед или задать стиль непосредственно элементу style="{{if member.member_group_id == 7}}font-color: black;{{else}}font-color: white;{{endif}}" WaNted 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 26 августа, 2020 Поделиться Опубликовано 26 августа, 2020 12 минут назад, ololsh сказал: Если css будет кешироваться, то использование такой конструкции бессмысленно, ибо файл закешируется от текущего пользователя и все условия будут применены для остальных пользователей. Хотя возможно php исполняется в нем при каждой загрузке страницы, не знаю, но на мой взгляд это не оптимально. По моему хороший вариант это который предложил @вантед или задать стиль непосредственно элементу style="{{if member.member_group_id == 7}}font-color: black;{{else}}font-color: white;{{endif}}" да через css файлы не рекомендую 25 минут назад, murzic сказал: у меня уже голова разболелась, от этого, никак не хочет работать есть 3 варианта с моим кодом: 1. через globaltemplate перед </body> <style> #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id == 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } </style> 2. собственноручно найти все кнопки и прописать им style="{{if member.member_group_id == 7}}background: #262127;{{else}}background-image: linear-gradient(#81c30d1c,#26212700,#262127);{{endif}}" 3. При помощи jquery обработать все кнопки по классу .button и добавить им нужные стили или перекрыть еще одним классом исходя из id группы Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 1 час назад, ZIKURIK сказал: да через css файлы не рекомендую есть 3 варианта с моим кодом: 1. через globaltemplate перед </body> <style> #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id == 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } </style> 2. собственноручно найти все кнопки и прописать им style="{{if member.member_group_id == 7}}background: #262127;{{else}}background-image: linear-gradient(#81c30d1c,#26212700,#262127);{{endif}}" 3. При помощи jquery обработать все кнопки по классу .button и добавить им нужные стили или перекрыть еще одним классом исходя из id группы попробую так Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
murzic Опубликовано 26 августа, 2020 Автор Поделиться Опубликовано 26 августа, 2020 сработала через </body> Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.