Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #70
Павел Романов
11 июля 2017, 20:02
0
Угу. Потому и попросил показать, что выводит поле ))
Павел Романов
11 июля 2017, 17:19
0
Так что-нибудь выводит?
<?php
if(!$tvname) return;
if(!$parent) $parent = $modx->resource->get('id');

$countries = array();

foreach ($modx->getIterator('modResource', array('parent' => $parent)) as $resource) {
	$tv = $resource->getTVValue($tvname);
	echo $tv;
	$arr = json_decode($tv, true);
    	$countries[] = $arr[0]['country'];
}

$countries = array_unique($countries);
natsort($countries);

foreach($countries as $country){
    $out .= $modx->getChunk($tpl, array('country'=>$country));
}

return $out;
Павел Романов
11 июля 2017, 15:45
0
Попробуйте через JS:

<span id="clr">Все</span>

<script>
    $(document).ready(function(){
        $("#clr").click(function(){
            $('input[name="prodtype"]').prop("checked",""); // тут вместо prodtype - имя Вашего параметра
            mSearch2.submit();
        });
    });
</script>
Павел Романов
11 июля 2017, 15:10
+3
У mFilter2 есть параметр &toSeparatePlaceholders.
Цитата из документации:
Работает так же как и &toPlaceholders, только в раздельные плейсхолдеры попадает еще и filters. Например, если вы укажете &toSeparatePlaceholders=`my.` и &filters=`tv|test,resource|pagetitle` то получите плейсхолдеры [[+my.results]], [[+my.total]], [[+my.tv|test]] и [[+my.resource|pagetitle]].

Соответственно, можете вызов сделать общим, а блоки фильтров выводить по отдельности — категории, бренды и тип товаров.
Павел Романов
11 июля 2017, 09:29
0
Если просто вывести значение этого MIGX-TV на странице какого-нибудь ресурса с ним, то что отображается?
[[*имя_tv]]
Павел Романов
10 июля 2017, 16:27
+2
Тут getImageList не нужен.
Сниппет getCountries:

<?php
if(!$tvname) return;
if(!$parent) $parent = $modx->resource->get('id');

$countries = array();

foreach ($modx->getIterator('modResource', array('parent' => $parent)) as $resource) {
	$tv = $resource->getTVValue($tvname);
	$arr = json_decode($tv, true);
    	$countries[] = $arr[0]['country'];
}

$countries = array_unique($countries);
natsort($countries);

foreach($countries as $country){
    $out .= $modx->getChunk($tpl, array('country'=>$country));
}

return $out;

Вызываете:
[[getCountries? 
&parent=`15`  
&tvname=`имя_TV`
&tpl=`country-tpl`
]]

&parent — родитель ресурсов с этой MIGX-TV (по умолчанию подставляется текущий).
&tvname — имя MIGX-TV
&tpl — чанк-шаблон ссылки. Единственный плейсхолдер — [[+country]]:

<a href="#" class="filter" data-filter="[[+country]]">[[+country]]</a>
Павел Романов
06 июля 2017, 11:52
+1
Параметры pdoResources нужно указывать внутри вызова pdoPage
<div id="pdopage">
    [[!+page.nav]]
    <div class="rows">
        [[!pdoPage?
            &ajaxMode=`button`
            &limit=`2`
            &tvFilters=`[[!tagLinks? &get=`1`]]`
            &includeTVs=`autotag`
            &tpl=`articlePageTpl`
        ]]
    </div>
</div>
Павел Романов
04 июля 2017, 18:13
0
А если кешировать?
[[getImageList?
&tvname=`plottage`
&tpl=`tpl.plottage`
&docid=`[[+id]]`
]]

Можно еще попробовать напрямую:
[[pdoResources?
&parents=`8`
&limit=`0`
&includeTVs=`plottage`
&tpl=`plottage`
]]

А в чанке:
[[getImageList? &value=`[[+tv.plottage]]`]]
Павел Романов
02 июля 2017, 11:44
0
Есть плагин DirectResizeRevo.
Делает превьюшки, кеширует, можно настроить под любой лайтбокс.
Павел Романов
21 июня 2017, 13:00
+1
Используйте модификаторы.
Например, для ресурса с шаблоном ID которого = 5:
[[+template:is=`5`:then=`[[+uri]]`:else=`[[~[[+parent]]]]`]]
Павел Романов
16 июня 2017, 16:47
0
Попробуйте так:

[[pdoResources?
    &parents=`4`
    &depth=`5`
    &limit=`100`
    &sortby=`{ "parent":"ASC", "menuindex":"ASC" }`
    &templates=`10`
    &tpl=`tplSklad`
]]
Павел Романов
10 июня 2017, 19:31
0
А так?
<div class="items">
        <div id="pdopage">
		[[!+page.nav]]
            	<div class="rows">
            		[[!pdoPage?
            		&ajaxMode=`button`
            		&tpl=`tplItem`
                        &includeTVs=`image,file`
			&prepareTVs=`image,file`
                        &idx=`1`
                        &limit=`5`
                        &sortby=`publishedon`
            		]]
		</div>        	
	</div>
</div>
Павел Романов
10 июня 2017, 10:16
0
Попробуйте так:
[[#[[*hotel]].images-tours_01:isnot=``:then=`
    <img src="[[#[[*hotel]].images-tours_01" alt="" />
`]]

А вообще в сниппетах условия прописываются так:
[[Snippet:is=``:then=``:else=``? 
&param=`***` 
....
]]
Павел Романов
03 июня 2017, 15:18
0
Проверьте без условия:
<?php
$modx->log(modX::LOG_LEVEL_ERROR, 'бла-бла-бла');

И если есть еще какие-то плагины на OnDocFormSave, поиграйтесь с приоритетом.
Павел Романов
03 июня 2017, 14:21
0
Сделайте сниппет, в котором создавайте юзера и используйте его в качестве хука перед formit2file.
Павел Романов
03 июня 2017, 14:16
+1
Поставьте CuctomURLs — там можно гибко настроить генерацию псевдонимов.

А в плагине используйте не echo, а пишите в лог:
$modx->log(modX::LOG_LEVEL_ERROR, 'что писать');
Павел Романов
14 мая 2017, 18:06
0
Да, сорри, не увидел сразу.
Но вообще странно, обычно это работает.
А если упростить вызов?
<div id="pdopage">
    [[!+page.nav]]
    <div class="rows">
	    [[!pdoPage:default=`<p>Список пуст.</p>`?
            &limit=`10`
            &includeTVs=`image.action,HitsPage`
            &prepareTVs=`image.action`
            &tpl=`tpl.stock.list`
            &sortby=`publishedon`
            &ajaxMode=`scroll`
        ]]
    </div>
</div>
Павел Романов
14 мая 2017, 17:59
+1
Попробуйте так:
&prepareTVs=`image.action`
Павел Романов
02 мая 2017, 12:36
0
0.0004590: Created inline «modChunk» with name «d9ad1bcdc5a530ed83598e35a1357e51»
0.0939269: Total time
6 291 456: Memory usage

TimeWeb, тариф «Optimo+» (149 р./мес. при оплате за год).

###

0.0006230: Created inline «modChunk» with name «d9ad1bcdc5a530ed83598e35a1357e51»
0.0507519: Total time
2 097 152: Memory usage

Тот же TimeWeb, тариф Year+ (99 р./мес. при оплате за год).
Павел Романов
21 апреля 2017, 11:02
+1
1. Попробуйте загнать шаблоны в чанки, и не использовать @CODE:
slides : [
[[getImageList? 
&tvname=`slider`
&tpl=`chunk1`
&tplLast=`chunk2`
]]
],
2. Если используется Fenom на страницах, в чанки добавьте пробелы после скобок:
{ image : '[[+image]]', title : '<div class="slide-content">[[+title]]</div>', thumb : '', url : '' },
и
{ image : '[[+image]]', title : '<div class="slide-content">[[+title]]</div>', thumb : '', url : '' }