Sergey

Sergey

Был в сети 13 декабря 2025, 17:51
Заказы принимаю
Andrey
Andrey
Тут все достаточно просто!

Страница формируется при помощи плагина!
Т.е. создаете например страницу с Алиасом users и у вас в итоге получится, что то вроде этого:
http://mysite.ru/users
Затем пишем плагин, который был предложен джентльменом выше и обязательно ставим галочку на системное событие OnPageNotFound.

Теперь надо поставить заполнитель для страницы с алиасом users, выглядеть он к примеру будет так:
<h3>[[!+user.fullname]]</h3>
<big>Информация</big>
<table class="table">
	<tbody>
		<tr>
			<td>Веб-сайт</td>
			<td><a href="[[!+user.website]]" target="_blank">[[!+user.website]]</a></td>
		</tr>
		<tr>
			<td>Город</td>
			<td>[[!+user.city]]</td>
		</tr>
	</tbody>
</table>
Обратите внимание, что все плейсхолдеры прописываются с "!" это делается для того, что бы записи, которые будут выводиться на странице были именно того пользователя, которого вы искали, а не текущего! Так же имейте ввиду, что префикс user. можно поменять в коде палагина, но можно оставить и этот, но его обязательно необходимо указывать при выводе плейсхолдеров, иначе не чего появится при запросе! Ух ты, все готово! Теперь переходим к не посредственному тесту! А для этого, найдем пользователя с username например testuser и тут нам нужно пройти по адресу:
http://mysite.ru/users/testuser
и мы увидим нашего запрошенного юзера!

Учтите, что я испытывал плагин и метод со следующими параметрами:
1. Дружественные юри включены
2. Вложеные юри включены
3. Каталог с алиасом users — был в корне сайта!

Вот вроде и все, что необходимо сделать, для отображения пользователя! Если хотите, чтобы по адресу показывался список пользователей, то:
[[!+user.id:is=``:then=`[[$чанк или код списка пользователей, я вызывал при помощи pdoUsers]]:else=`[[$чанк или код заполнителей для отображения пользователя, например то, что я описал выше`]]
т.е. что здесь происходит — если вы обращаетесь к странице, на которой нет запроса user.id:
http://mysite.ru/users/
то выводится список пользователей, если запросили пользователя:
http://mysite.ru/users/testuser
то тогда выводить страницу с данными пользователя!

Чанк отображения пользователя в списке через pdoUsers, у меня выглядит так:
<tr>
	<td>[[!+id]]</td>
	<td>
		<img src="[[!+photo:default=`assets/avatars/default.jpg`]]" style="width:20%" class="img-circle">
	</td>
	<td><a href="[[~724]]/[[!+id]]">[[!+fullname:default=`Новый пользователь (Поменяйте отображаемое имя в настройках)`]]</a></td>
	<td>[[!+createdon]]</td>
	<td>[[!+tickets]]</td>
	<td>[[!+comments]]</td>
	<td>[[!+rating]]</td>
	[[!+extended.user_status:is=``:then=`<td data-value="Пользователь">
	   <span class="status-metro status-active" title="Команда проектов">Пользователь</span>
	</td>`:else=`
	<td data-value="[[!+extended.user_status]]">
	   <span class="status-metro status-suspended" title="[[!+extended.user_status]]">[[!+extended.user_status]]</span>
	</td>`]]
</tr>