Перейти к содержанию

member_group_id


murzic

Рекомендуемые сообщения

Привет!

Я хочу что-то сделать, но не очень получается...

У меня есть такой код:

{{if in_array ( \IPS\Member::loggedIn()->member_group_id, array ( 4 ) )  }}
код HTML
{{endif}}

Я хочу сделать это, если кнопка X серая предназначена для участников, я хочу, чтобы она была другого цвета для премиум-класса.

Но чтобы задать настройки CSS, мне нужен ключевой код, например:

.theme[data-role='member_group_id'] {
......
.....
....
....
}

Надеюсь, вы понимаете, что я имел в виду.

Спасибо за внимание ...

Ссылка на комментарий
Поделиться на другие сайты

Пляши отсюда, там уже шаблон есть, добавить классы и цветные кнопки только

https://invisioncommunity.com/news/community-management/theme-tip-use-html-logic-to-display-content-to-specific-groups-r957/

 

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
В 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, это проще. Добавить идентификатор или класс, и все готово

Ссылка на комментарий
Поделиться на другие сайты

<a href='#' class='button group_{member.member_group_id}'>Кнопка</a>
.button {
	
}
.button.group_1 {
	
}
.button.group_4 {
	
}

 

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, WaNted сказал:

<a href='#' class='button group_{member.member_group_id}'>Кнопка</a>

.button {
	
}
.button.group_1 {
	
}
.button.group_4 {
	
}

 

Попробую, вернусь с ответом...

Ссылка на комментарий
Поделиться на другие сайты

{member.member_group_id} замените только на {member="member_group_id"}, ошибся.

Ссылка на комментарий
Поделиться на другие сайты

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"}

Ссылка на комментарий
Поделиться на другие сайты

.button {
{{if \IPS\Member::loggedIn()->member_group_id === 4}}
	color: white;
{{else}}
	color: red;
{{endif}}
}

 

Ссылка на комментарий
Поделиться на другие сайты

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 всё также 

Ссылка на комментарий
Поделиться на другие сайты

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}}
}

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, ZIKURIK сказал:

странно работает если сравнение без тождественности, вместо "===" используй "=="

Ничего странно, все данные из бд возвращаются в виде string-а, а в коде сравнивается типа integer и конечно они не будут равны. Какой-то новомодный стиль в php пихать направо и налево сравнение по типу. Как я устал от этого уже, приходится спорить часами - если значение не может быть иметь разные типы данных которые приводятся к другому формату при сравнения тогда не имеет смысла использовать сравнение по типу.

2ТС
@WaNtedвам подсказал правильный вариант. Файла CSS кешируются на диске, использовать там php переменные не имеет смысла.

Ссылка на комментарий
Поделиться на другие сайты

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}

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, ZIKURIK сказал:

проверил, странно работает если сравнение без тождественности, вместо "===" используй "=="


#logocentervips {
{{if \IPS\Member::loggedIn()->member_group_id == 7}}
	background: #262127;
{{else}}
	background-image: linear-gradient(#81c30d1c,#26212700,#262127);
{{endif}}
}

 

у меня уже голова разболелась, от этого, никак не хочет работать

Ссылка на комментарий
Поделиться на другие сайты

48 минут назад, ZIKURIK сказал:

Был не прав, как не парадоксально но ид пользователя действительно типа 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}}"

Ссылка на комментарий
Поделиться на другие сайты

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 группы

Ссылка на комментарий
Поделиться на другие сайты

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 группы

попробую так

Ссылка на комментарий
Поделиться на другие сайты

сработала через </body>

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...