Andrey

Andrey

С нами с 08 августа 2016; Место в рейтинге пользователей: #203
21 сентября 2016, 11:48
0
:( собственно в этом и вся загвоздка!
21 сентября 2016, 10:57
0
Ну имеется ввиду как при этом должна выглядеть форма добавления на фронте? Т.е. как должна выглядеть обертка для такого вызова? нашел, что то вроде вот:
[[migxJsonToPlaceholders? &prefix=`tv.` &value=`[[+tv_json]]`]]
 
<input id="tv[[+tv.id]]" name="tv[[+tv.id]]"
    type="text" class="textfield"
    value="[[+tv.value]]"
    tvtype="[[+tv.type]]"
/>
 
<script type="text/javascript">
// <![CDATA[
 
Ext.onReady(function() {
    var fld = MODx.load({
        xtype: 'textfield'
        ,applyTo: 'tv[[+tv.id]]'
        ,width: '30%'
        ,enableKeyEvents: true
        ,msgTarget: 'under'
        //,allowBlank: {if $params.allowBlank == 1 || $params.allowBlank == 'true'}true{else}false{/if}
        //{if $params.maxLength},maxLength: {$params.maxLength}{/if}
        //{if $params.minLength},minLength: {$params.minLength}{/if}
     
        ,listeners: { 'keydown': { fn:MODx.fireResourceFormChange, scope:this}}
    });
    Ext.getCmp('modx-panel-resource').getForm().add(fld);
    MODx.makeDroppable(fld);
});
 
// ]]>
</script>
И вот:
[[migxJsonToPlaceholders? &prefix=`tv.` &value=`[[+tv_json]]`]]
 
<div style="float:left;">
<label for="tv[[+tv.id]]" class="x-form-item-label modx-tv-label" style="width: auto;margin-bottom: 10px;">
<div class="modx-tv-label-title"> 
<span class="modx-tv-caption" id="tv[[+tv.id]]-caption">[[+tv.caption]]</span>
</div>    
</label>
<div class="x-form-clear-left"></div>
[[+tv_formElement]]
</div>
При использовании штатного migx сниппета migxJsonToPlaceholders. Но как я понял, эта фигня сделана для добавления через бэкенд или я чего то недопонял!
20 сентября 2016, 20:42
0
Приветствую! А можно небольшой вопросик, как должен выглядеть чанк обертка для данного вывода? И можно ли использовать этот метод с TicketForm? Заранее благодарю за помощь!
20 сентября 2016, 20:42
0
Приветствую! А можно небольшой вопросик, как должен выглядеть чанк обертка для данного вывода? И можно ли использовать этот метод с TicketForm? Заранее благодарю за помощь!
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>
15 сентября 2016, 12:48
0
Спасибо огроменное! Давно уже хотел реализовать эту фигню, без всяких костылей!
15 сентября 2016, 12:23
0
Разобрался с первым вопросом! Но все же хотелось бы решить последний, а именно второй! Вам уже огромное спасибо и плюсик разумеется! Все как часы работает! На большее я уже не рассчитываю! Последний вопрос постараюсь решить самостоятельно!
15 сентября 2016, 11:54
0
Такс! Спасибо! Вроде теперь работают ссылки как надо, пробовал перейти на существующих пользователей, все здорово!

Но остались вопросы! Например:

1. Как должен выглядеть шаблон? Чтобы выводились данные именно того пользователя, которого мы запрашиваем! Потому как при запросе нужного пользователя выходят данные текущего авторизированного!
Пример шаблона взял из примера выше:
<h3>[[!+fullname]]</h3>
<big>Информация</big>
<table class="table">
	<tbody>
		<tr>
			<td>Веб-сайт</td>
			<td><a href="[[!+website]]" target="_blank">[[!+website]]</a></td>
		</tr>
		<tr>
			<td>Город</td>
			<td>[[!+city]]</td>
		</tr>
	</tbody>
</table>
Т.е. все плейсхолды вызваны не кешируемыми!
Но при переходе на страницу запрашиваемого пользователя выводятся не то, что ннадо! В Вашем плагине нашел следующие:
$modx->setPlaceholders($user, 'user.');
$modx->setPlaceholders($profile, 'user.');
 $modx->setPlaceholders($extended, 'user.');
Пока не совсем разобрался, как с этим жить! Если можно поясните, потому как понимаю, что именно их нужно использовать для отображения информации о запрошенном пользователе!

2. И второй вопрос, здесь на modx.pro сделано таким образом, что страница modx.pro/users — используется для отображения все пользователей, а дальнейшие запросы уже ясное дело используются как modx.pro/users/username вопрос то не трудный, следственно как сделать, что то похожее?

3. Так же на modx.pro организовано в ЛК таким образом, что в профиле можно выбрать как именно отображать ссылку на имя пользователя и стоит выбор между username и ID (так вот хотелось бы все же сделать так, чтобы был выбор при переключении)
14 сентября 2016, 08:11
0
Уиииии! Работает!
Ну Василий, дело ведь не в том, что я например не пытался, перерыл весь сайт! Но за то что балбес каюсь :(
14 сентября 2016, 07:50
0
короче сегодня буду чистый MODX ставить и на нем эксперименты проводить! Есть еще подозрение!
14 сентября 2016, 07:47
0
та вот не могу! С аякс-пагинацией реально быстрее работает! Ну не может быть такого, что бы здесь работало, а у нас нет! Я почему то просто уверен, что вызов хитрый должен быть! Или надо в чанк ченить добавить!
14 сентября 2016, 07:46
0
не помогает, да плюс и не к чему это, т.к.
&element=`getTickets`
вот этот параметр как раз и организует выборку только ресурсов с классом
Tickets
13 сентября 2016, 21:41
0
Совершенно согласен! Но не с компонентом getTickets! Тут ведь задача стоит так, чтобы при аякс-пагинации работала Мета-информация (добавить в избранное, секции тикетов, рейтинг)! Сама то пагинация на ура работает! А вот с компонентом работать отказывается, но без этого:
&element=`getTickets`
не работает Мета-инфомарция!
Я бы не спрашивал про эту тему, если бы не видел, что она прекрасно работает на modx.pro! Вопрос тов чем, может все же вызов какой нибудь хитрый? Потому как он не работает даже со стандартными чанками! Вызов соответсвенно такой:
<div class="col-md-8" id="pdopage">
    <div class="rows">
        [[!pdoPage:default=`<div class="alert alert-info alert-dismissable" style="font-size:15px;margin-top:10px;">
				<a class="panel-close close" data-dismiss="alert">×</a> 
				<i class="fa fa-info"></i>
				<strong>ВНИМАНИЕ!</strong> Статей еще нет!
			   </div>`?
	&element=`getTickets`
        &limit=`5`
        &ajaxMode=`default`
	&showLog=`1`
	&user=`[[!+modx.user.id]]`
        &includeContent=`1`
        &includeTVs=`myTV`
        &prepareTVs=`1`
        &processTVs=`1`
        &tvPrefix=`tv.`
        &parents=`0`
        &tpl=`my-Tpl`
        ]]
    </div>
    <div style="margin:10px 0;">[[!+page.nav]]</div>
   </div>
13 сентября 2016, 19:50
0
обновил MODX, интересного не чего не произошло! :(
13 сентября 2016, 19:27
0
Единственное, что MODX не обновлен до самой последней версии! Т.к. там были проблемы с TinyMCE из которой не грузились ресурсы! Может из-за этого, но я подумал, что это мало вероятно!
13 сентября 2016, 19:18
0
Да вот в том то и дело, что последняя версия pdoTools и Tickets стоит! Это ж первое на что внимание обратил внимание! Я просто думал, может какой нибудь хитрый вызов должен быть! Но если нет, значит я что то сломал :(
10 сентября 2016, 18:52
0
ну неужели не кто не знает!
07 сентября 2016, 19:08
0
мде… помогло! Я не так прочитал ваше сообщение! Чет не подумал про этот параметр, спасибо огромное!