Перейти к содержимому


Фотография
- - - - -

Mysubmission определенной группе пользователей


Лучший Ответ SmetDenis , 09 December 2015 - 11:18


Метод getByUser() определен в этом файле
administrator\components\com_zoo\tables\item.php

и использует _getByUserOptions, где есть условие для пользователя.

Передавайте в getByUser вместо id пользователя какое-нибудь значение-исключение, например "-1"
и добавьте соответствующее условие _getByUserOptions() например так.

// author filter
$user_id = (int)$user_id;
if ($user_id != -1) {
    $where[] = 'a.created_by = ' . $user_id;
}
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 13LTD

13LTD

Отправлено 07 December 2015 - 16:07

Подскажите как вывести в Mysubmission определенной группе пользователей все материалы каталога?


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 07 December 2015 - 19:13

13LTD, здравствуйте, в компоненте Zoo нет возможности выводить все материалы для редактирования с фронта. Материалы привязаны и выводятся строго для того пользователя который их создал и вошел на сайт под своим логином.


  • 0
Изображение
 

#3 13LTD

13LTD

Отправлено 07 December 2015 - 20:13

13LTD, здравствуйте, в компоненте Zoo нет возможности выводить все материалы для редактирования с фронта. Материалы привязаны и выводятся строго для того пользователя который их создал и вошел на сайт под своим логином.

ну если я правильно понимаю то где то должно быть условие проверки на пользователя, или оно иначе работает?


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 08 December 2015 - 01:36

13LTD, вся выборка и проверки происходят в файле Zoo? который расположен:

components\com_zoo\controllers\submission.php

в методе mysubmissions происходит проверка на возможность редактирования

if (!$this->app->user->canAccess($this->user, 1)) {
	throw new SubmissionControllerException('Insufficient User Rights.');
} 

а так же выборка материалов по пользователю

$this->items      = $this->app->table->item->getByUser($this->application->id, $this->user->id, $type, $search, $order, $limitstart, $limit); 

вы можете изменить данный метод под свои требования, но данный хак может затереться при обновлении Zoo


  • 0
Изображение
 

#5 13LTD

13LTD

Отправлено 08 December 2015 - 06:17

вы можете изменить данный метод под свои требования, но данный хак может затереться при обновлении Zoo

спасибо, это я понял. но у меня не получается изменить  

$this->items      = $this->app->table->item->getByUser($this->application->id, $this->user->id, $type, $search, $order, $limitstart, $limit); 

так, что бы были видны все материалы, вижу или только свои(админа) или только гостя а необходимо отобразить все.


  • 0

#6 SmetDenis

SmetDenis

Отправлено 09 December 2015 - 11:18   Лучший Ответ


Метод getByUser() определен в этом файле
administrator\components\com_zoo\tables\item.php

и использует _getByUserOptions, где есть условие для пользователя.

Передавайте в getByUser вместо id пользователя какое-нибудь значение-исключение, например "-1"
и добавьте соответствующее условие _getByUserOptions() например так.
// author filter
$user_id = (int)$user_id;
if ($user_id != -1) {
    $where[] = 'a.created_by = ' . $user_id;
}

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



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





Click to return to top of page in style!