Jump to content


Photo
- - - - -

Разделение доступа к части информации


  • This topic is locked This topic is locked
13 replies to this topic

#1 pelentron

pelentron
  • JBZoo User (rus)
  • User rate: 0
  • posts: 33
  • topics: 7

Posted 28 October 2012 - 19:26

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

Я уже как-то спрашивал, но теперь увидел каталог "недвижимость" который почти полностью выполняет мою задачу.
За малым исключением, нужно добавить информацию доступную только конкретному агентству.

Т.е. риэлторы сами заносят в каталог информацию (адрес квартиры и телефон хозяина), но всем видно как и сейчас, а сам риелтор видит адрес и телефон хозяина.

я что-то не соображу как разделить доступ к одной маленькой информации.
  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 October 2012 - 07:16

У каждого поля есть настройка доступа.

Либо можно проверять id группы пользователя в шаблоне перед выводом позиции
Группу можно узнать так
<?php
$user = JFactory::getUser();
Print_r($user);

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 pelentron

pelentron
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 33
  • topics: 7

Posted 29 October 2012 - 08:53

С полями и настройкой доступа я в прошлый раз игрался. У меня поиск не заработал. т.к. я сделал различные шаблоны ввода в одну категорию.
в новой версии поиск не проверял ещё.


  • 0

#4 Archibaldo

Archibaldo
  • JBZoo User (rus)
  • User rate: 0
  • posts: 13
  • topics: 1

Posted 29 October 2012 - 15:45

расширю вопрос, возможно будет ответ :)
можно ли ограничить доступ к информации в определенном поле не для группы пользователей (registered, special...). а для конкретного пользователя?
если следовать примеру с риэлторами, то чтобы контакты хозяев видели только риэлтор-создатель данного объявления..
  • 0

#5 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 October 2012 - 17:15

У меня  такое ощущение что вы даже не смотрели тот кусок кода который я предложил выше...

<?php
$user = JFactory::getUser();
if ($user->id == 42) {
   echo  echo $this->renderPosition('position');
}

Позиция покажется только для 42 пользователя.
В том же объекте пользователя можно узнать id группы

Подробности http://forum.joomla-...opic,790.0.html
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 October 2012 - 17:16

С полями и настройкой доступа я в прошлый раз игрался. У меня поиск не заработал. т.к. я сделал различные шаблоны ввода в одну категорию.
в новой версии поиск не проверял ещё.

Кардинально поиск не изменился между версиями
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 pelentron

pelentron
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 33
  • topics: 7

Posted 29 October 2012 - 17:58

Спасибо ещё раз.
Не, я код ещё не смотрел. Некогда было. Скорей бы уволиться....
Про поиск понял, тогда сразу перейду к следующему...
  • 0

#8 Archibaldo

Archibaldo
  • JBZoo User (rus)
  • User rate: 0
  • posts: 13
  • topics: 1

Posted 29 October 2012 - 21:59

У меня  такое ощущение что вы даже не смотрели тот кусок кода который я предложил выше...

<?php
$user = JFactory::getUser();
if ($user->id == 42) {
   echo  echo $this->renderPosition('position');
}
Позиция покажется только для 42 пользователя.

если честно не увидел подобного кода выше..
вот если через подобную проверку выводить позицию, то получается нужно руками вписать для какого пользователя будет отображаться данная позиция,  а можно ли подобным образом сравнить id текущего пользователя и id автора, и если они совпадают - соответственно отображать объект
  • 0

#9 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 October 2012 - 22:58

если честно не увидел подобного кода выше..
вот если через подобную проверку выводить позицию, то получается нужно руками вписать для какого пользователя будет отображаться данная позиция,  а можно ли подобным образом сравнить id текущего пользователя и id автора, и если они совпадают - соответственно отображать объект

Да можно. Распечатайте $item и посмотрите какие у него есть поля. Кажется то что вы хотите будет лежать в created_by
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 Archibaldo

Archibaldo
  • JBZoo User (rus)
  • User rate: 0
  • posts: 13
  • topics: 1

Posted 30 October 2012 - 09:46

Спасибо за подсказку, в принципе получилось то что хотел, единственная заметка, скрывать приходится не элемент а позицию, т.е. нужно или создавать дополнительную позицию в отображении или использовать ту, которая пустует. В моем случае используется уже имеющаяся позиция. В файле: \media\zoo\applications\jbuniversal\templates\catalog\renderer\item\my_app_name\full.php  получилась вот такая правка кода:

<?php
$user = JFactory::getUser();
if ($user->id == $item->created_by) {
   echo $this->renderPosition('social', array('style' => 'jbblock'));
}
?>

теперь данная позиция отображается только если id автора и id текущего пользователя совпадают.
  • 0




Click to return to top of page in style!