Sergey

Sergey

С нами с 12 января 2017; Место в рейтинге пользователей: #772
Марат Марабар
29 июня 2017, 08:27
1
0
&where=`{"Data.popular:=":"1", "OR:Data.new:=":"1", "OR:Data.favorite:=":"1"}`
Сергей Самусев
27 сентября 2016, 16:29
4
0
Решение:
[[!pdoResources?
	&class=`msVendor`
	&tpl=`tpl.msProducts.brands.row`
	&sortby=`name`
	&sortdir=`ASC`
]]
В чанке можно вывести:
[[+id]]
[[+name]]
[[+resource]]
[[+country]]
[[+logo]]
[[+address]]
[[+phone]]
[[+fax]]
[[+email]]
[[+description]]
Andrey
18 сентября 2016, 20:03
1
+1
Тут все достаточно просто!

Страница формируется при помощи плагина!
Т.е. создаете например страницу с Алиасом 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>
Василий Наумкин
21 января 2016, 09:09
3
0
На старой версии у меня работает, а в новой, похоже, что-то поменялось. Бронебойный вариант:
$("#cleanmincart").click(function(){
	$.post(document.location, {ms2_action: 'cart/clean'});
});