Jump to content

member_group_id


Recommended Posts

Привет!

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

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

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

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

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}

Link to comment
Share on other sites

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

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


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

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

попробую так

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...