Posted 10 августа, 20204 yr comment_163289 Привет! Я хочу что-то сделать, но не очень получается... У меня есть такой код: {{if in_array ( \IPS\Member::loggedIn()->member_group_id, array ( 4 ) ) }} код HTML {{endif}} Я хочу сделать это, если кнопка X серая предназначена для участников, я хочу, чтобы она была другого цвета для премиум-класса. Но чтобы задать настройки CSS, мне нужен ключевой код, например: .theme[data-role='member_group_id'] { ...... ..... .... .... } Надеюсь, вы понимаете, что я имел в виду. Спасибо за внимание ...
10 августа, 20204 yr comment_163290 Пляши отсюда, там уже шаблон есть, добавить классы и цветные кнопки только https://invisioncommunity.com/news/community-management/theme-tip-use-html-logic-to-display-content-to-specific-groups-r957/
25 августа, 20204 yr Author comment_163509 В 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, это проще. Добавить идентификатор или класс, и все готово
25 августа, 20204 yr comment_163510 <a href='#' class='button group_{member.member_group_id}'>Кнопка</a> .button { } .button.group_1 { } .button.group_4 { }
25 августа, 20204 yr Author comment_163511 3 минуты назад, WaNted сказал: <a href='#' class='button group_{member.member_group_id}'>Кнопка</a> .button { } .button.group_1 { } .button.group_4 { } Попробую, вернусь с ответом...
25 августа, 20204 yr comment_163512 {member.member_group_id} замените только на {member="member_group_id"}, ошибся.
25 августа, 20204 yr Author comment_163519 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"}
25 августа, 20204 yr comment_163522 .button { {{if \IPS\Member::loggedIn()->member_group_id === 4}} color: white; {{else}} color: red; {{endif}} }
26 августа, 20204 yr Author comment_163524 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 всё также
26 августа, 20204 yr comment_163525 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}} }
26 августа, 20204 yr comment_163526 1 час назад, ZIKURIK сказал: странно работает если сравнение без тождественности, вместо "===" используй "==" Ничего странно, все данные из бд возвращаются в виде string-а, а в коде сравнивается типа integer и конечно они не будут равны. Какой-то новомодный стиль в php пихать направо и налево сравнение по типу. Как я устал от этого уже, приходится спорить часами - если значение не может быть иметь разные типы данных которые приводятся к другому формату при сравнения тогда не имеет смысла использовать сравнение по типу. 2ТС@WaNtedвам подсказал правильный вариант. Файла CSS кешируются на диске, использовать там php переменные не имеет смысла.
26 августа, 20204 yr comment_163527 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}
26 августа, 20204 yr Author comment_163528 3 часа назад, ZIKURIK сказал: проверил, странно работает если сравнение без тождественности, вместо "===" используй "==" #logocentervips { {{if \IPS\Member::loggedIn()->member_group_id == 7}} background: #262127; {{else}} background-image: linear-gradient(#81c30d1c,#26212700,#262127); {{endif}} } у меня уже голова разболелась, от этого, никак не хочет работать
26 августа, 20204 yr comment_163529 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}}"
26 августа, 20204 yr comment_163530 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 группы
26 августа, 20204 yr Author comment_163535 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 группы попробую так
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.