Маски

дополнительное подстановочное значение

#1 30 марта 2017 в 09:53
кроме:
%
*
добавить ID ( ID=№ СТРАНИЦЫ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ)
#2 30 марта 2017 в 12:37


Куда вы эту маску хотите применить?
Маска она ведь на то и маска что там подставляются регулярные выражения.
Если ID пользователя — это число — то и поставьте вместо вашего, что вы хотите ID — %
#3 30 марта 2017 в 12:58

Если ID пользователя — это число — то и поставьте вместо вашего, что вы хотите ID — %

Kreator

"ID" — это любое число, а "ID ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ" — это не любое число, это число определенное текущим пользователем…
#4 30 марта 2017 в 13:05

"ID" — это любое число, а "ID ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ"

reload
тогда и впишите вместо ID это число, вы же его знаете
а если не знаете — значит любое
#5 30 марта 2017 в 13:20

тогда и впишите вместо ID это число, вы же его знаете
а если не знаете — значит любое

Kreator

Оригинально))

При переходе по ссылке "мой профиль" пользователь куда попадает?!!)

В ссылке "мой профиль", id пользователя прописан заранее или там указана переменная?)

Вот и тут человеку нужна переменная которая будет показывать "ID ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ"

Зачем? Наверное шоб было!)) Из его же вопросов в другой теме все ясно: instantcms.ru/forum/thread26629-1.html
#6 30 марта 2017 в 13:38
Ну тогда не трогайте маски и добавьте в код виджета условие

  1. $core = cmsCore::getInstance();
  2. $user = cmsUser::getInstance();
  3. if($core->controller == 'users' && $core->action == $user->id) return();
  4. else return false;
в таком раскладе виджет появится только если пользователь смотрит свою страницу профиля, или

  1. ..... $core->action != $user->id .......
если чужую, лучше конечно для этих целей сделать новый виджет, а какой это виджет автор лучше знает)
#7 30 марта 2017 в 13:48
Можно так же использовать это условие в любом вашем виджете, но чтоб это условие работало на какой то конкретный виджет, то лучше добавить в условие id вашего виджета.
#8 30 марта 2017 в 13:52
Вот вам готовое решение:

Например вы выводите виджет Html и хотите вывести виджет только на странице текущего пользователя.

Открыть файл system/widgets/html/widget.php

Перед строкой
  1. return array();
вставить
  1. $core = cmsCore::getInstance();
  2. $user = cmsUser::getInstance();
  3. if($this->id == 65){
  4. if($core->controller == 'users' && $core->action == $user->id) return array();
  5. else return false;
  6. }
где "65" — id вашего виджета

или так

  1. $core = cmsCore::getInstance();
  2. $user = cmsUser::getInstance();
  3. if($this->id == 65){
  4. if($core->controller == 'users' && $core->uri_action == $user->id) return array();
  5. else return false;
  6. } elseif($this->id == 66){
  7. if($core->controller == 'users' && $core->uri_action != $user->id) return array();
  8. else return false;
  9. }
тогда виджет вс id = 65 будет выводиться только на странице текущего пользователя а виджет с id = 66 только на странице других пользователей
остальные виджеты Html выйдут как обычно
#9 30 марта 2017 в 20:47
пробывал ставить Ваш код но чтото пошло не так, сайт перестовал работать совсем
#10 31 марта 2017 в 00:57

пробывал ставить Ваш код но чтото пошло не так, сайт перестовал работать совсем

Лёха на мечах
да, нашел ошибочку и код выше исправил
#11 31 марта 2017 в 09:53


пробывал ставить Ваш код но чтото пошло не так, сайт перестовал работать совсем

Лёха на мечах
да, нашел ошибочку и код выше исправил

Kreator
поставил. сайт работает. html блок выводится везде я может че непонял. где брать id? либо этот id присматривается всем html виджетам?
и как работать с остальными виджетами? не повилияет ли это на их работу?
#12 1 апреля 2017 в 15:17

и как работать с остальными виджетами? не повилияет ли это на их работу?

Лёха на мечах
Если я правильно понял, то настройка на пользователя затрагивает весь класс виджетов, в данном случае HTML блоков.
А надо так изменить код, чтобы в каждом виджете была настройка на пользователя.Видимо в доступности виджета, кому показывать.
Пока этого не будет ничего не получится.
#13 2 апреля 2017 в 16:31
может все таки переменную специальную добавить? было бы все круто и удобно… движок от этого стал бы только лучше.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.