Здравствуйте, прошу помощи в решении задачи.
Как в карте сайта выводить пользователей только из определенной группы?
InstantCMS 2.X
#1
25 декабря 2018 в 10:17
#2
25 декабря 2018 в 12:46
Azami, в общем случае это делается через создание собственного компонента с обработкой события. То есть ваш компонент должен перехватывать событие создания карты сайта и добавлять туда то, что считает нужным — в данном случае пользователей из какой-то группы.
@SmartControl, т.е. нельзя внести в стандартный https:/site.ru/sitemap_users_profiles.xml правки
Сегодня в 06:10
#4
25 декабря 2018 в 19:33
Azami, нет такого файла. Но если найдёте — вносите. Сервер же их затрет все-равно.
#5
6 января 2019 в 19:41
Azami, нет такого файла. Но если найдёте — вносите. Сервер же их затрет все-равно.
Разве нельзя внести изменения в файл, готорый генерирует карту?
Например в /system/controllers/users/hooks/sitemap_urls.php?
#6
8 января 2019 в 22:17
up
#7
8 января 2019 в 22:35
Файл \system\controllers\users\hooks\sitemap_urls.php
Заменить на
6 — это ID группы
$users = $this->model-> filterIsNull('is_locked')-> filterIsNull('is_deleted')-> limit(false)->getUsersIds();
$users = $this->model-> filterIsNull('is_locked')-> filterIsNull('is_deleted')-> filterGroup(6)-> limit(false)->getUsersIds();
#8
8 января 2019 в 22:52
Файл \system\controllers\users\hooks\sitemap_urls.php
Заменить на
$users = $this->model-> filterIsNull('is_locked')-> filterIsNull('is_deleted')-> limit(false)->getUsersIds();
6 — это ID группы
$users = $this->model-> filterIsNull('is_locked')-> filterIsNull('is_deleted')-> filterGroup(6)-> limit(false)->getUsersIds();
Золотой вы человек! Спасибо!
Позвольте еще вопрос.
Каким образом можно исключить из файла url'ы на страницах которых в поле "hobby" меньше 150 символов.
Какой-то аналог условия:
if(mb_strlen($profile['hobby']) < 150)
Каким образом можно исключить из файла url'ы на страницах которых в поле "hobby" меньше 150 символов.
Какой-то аналог условия:
if(mb_strlen($profile['hobby']) < 150)