Антон Грошев

Антон Грошев

С нами с 18 февраля 2014; Место в рейтинге пользователей: #623
Антон Грошев
25 апреля 2018, 13:09
0
не у кого нет решения данной проблемы? выводил в отдельный чанк, та же проблема.
Антон Грошев
23 апреля 2018, 12:11
0
article заработал если заменить в шаблонах новостей строку [[*content]] на {$_modx->resource.content}
Антон Грошев
23 апреля 2018, 11:52
0
также перестал работать пакет articles если указан pdotools и включен fenom. (ошибка pdotools.class.php: 977) Unexpected token ':' in 7ff2e169dc058307be33c22826eeb38e line 99, near '{«class_key»:' < — there )

другие тоже указывают проблемы с новой версией pdotools 2.11.0-pl
Антон Грошев
23 апреля 2018, 10:11
0
уже пробовал, не помогло
Антон Грошев
22 апреля 2018, 22:35
0
Василий, подскажи пожалуйста:

Как заставить fenom прожевать эту инструкцию с регулярным выражением?

{'pdoPage' | snippet : [ 'includeTVList'=>'Kép', 'parents'=>5, 'tpl'=>'@INLINE  {$_pls["tv.Kép"] | ereplace : "/^(.*[\/])(.+)(.+)(\..{3,4})$/imu" : "${1}thumbs/${2}${3}_thumb_w270_h220${4}" }" ']}
выводит ошибку

Unexpected token '${' in expression in modchunk/a186e5edb5a26a35539d3aa180d7eac0 line 8, near '{$_pls[«tv.Kép»] | ereplace: "/^(.*[\/])(.+)(.+)(\..{3,4})$/imu": "${' < — there
Антон Грошев
12 декабря 2017, 17:54
0
заметил, что easyBlackList не блокирует доступ в /manager, если ip адрес есть в списке блокировок.
Антон Грошев
12 декабря 2017, 17:45
0
большое спасибо, пригодится
Антон Грошев
10 декабря 2017, 23:08
0
или можно еще другим способом:

{'pdoMenu' | snippet : [
 'parents' => 5, 'displayStart' => 1, 'countChildren' => 1, 'fastMode' => 1, 'scheme'=> 'uri', 'level' => 2,
 'showLog' => 0,  'firstClass' => '', 'lastClass' => '',  'hideContainers' => 0,  'parentClass' => 0,
 'tplOuter' => '@INLINE <ul class="gallery-cats clearfix">[[+wrapper]]</ul>', 
 'tplInner' => '@INLINE [[+wrapper]]',
 'tplStart' => '@INLINE <li[[+classes]]><a href="{{~5}}">Minden</a> ('~ $modx->getCount('modResource', ['parent:IN' => $_modx->getChildIds(5) ]) ~')</li>[[+wrapper]]',
 'tpl' => '@INLINE <li[[+classes]]><a href="{{~5}}?year={$alias}">{$pagetitle}</a> ([[+children]])</li>'
]}

может кому это пригодится.
хотя знаю, что можно сделать через SQL селекты с подчетом дочерних документов.
Антон Грошев
03 декабря 2017, 18:26
0
Спасибо. Помогло
Антон Грошев
02 декабря 2017, 11:26
0
Про кастомный js рендер даже автор tvsuperselect упомянул в публикации, значит он уже его делал для документов, надо лишь попросить у него готовый код или найти в MODX, где он указывает для вывода ТВ значения для документа, который в последствии можно добавить как рендер или xtype, если правильно понял.
Антон Грошев
30 ноября 2017, 14:09
0
попробуй:

[[tvssCloud? &id=`[[+parent]]` &tv=`71` &tpl=`@INLINE <a class="btn btn-default btn-xs" href="[[+link]]" role="button"><i class="fa fa-tag" aria-hidden="true"></i>[[+tag]]</a>`]]
Антон Грошев
30 ноября 2017, 12:57
1
0
Решил следующим образом:

{'pdoResources' | snippet : [ 'parents' => 10, 'limit' => 0,
'groupby' => 'val', 'sortby'=> 'val', 'sortdir' => 'ASC',
'select' => '{"modResource":"id,pagetitle","tvss":"count(value) as cnt, value as val, (select GROUP_CONCAT(resource_id) as t from modx_tvss_options where value = val) as idv " }',
'innerJoin'=>'[{"class":"tvssOption","alias":"tvss","on":"tvss.resource_id=modResource.id"}]',
'tpl'=> '@INLINE {$val} ({$cnt}) <p>
{set $ar = $idv |split}
{foreach $ar as $row}
[[#{$row}.pagetitle]]
{/foreach}
</p>', 
 'showLog'=> 1,
 'return' => 'null'
]}
Антон Грошев
29 ноября 2017, 19:00
0
Есть контент:



и таблица modx_tvss_options c заполненными значениями компонента tvsuperselect:



Код выборки:
{'pdoResources' | snippet : [ 'parents' => 10, 'limit' => 0,
'groupby' => 'val', 'sortby'=> 'val', 'sortdir' => 'ASC',
'select' => '{"modResource":"id,pagetitle","tvss":"count(value) as cnt, value as val"}',
'innerJoin'=>'{ "tvss": {"class":"tvssOption","alias":"tvss","on":"tvss.resource_id=modResource.id"}}',
'tpl'=> '@INLINE {$val} ({$cnt}) <p>{$pagetitle}</p>', 
 'showLog'=> 1
]}
Лог:
0.0001180: pdoTools loaded
0.0000310: xPDO query object created
0.0005209: innerJoined tvssOption as tvss
0.0000041: Grouped by val
0.0001049: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `pagetitle`
0.0000241: Added selection of tvssOption: count(value) as cnt, value as val
0.0017450: Processed additional conditions
0.0020249: Added where condition: modResource.parent:IN(10,14,15,18,25,30,19,26,24,16,17), modResource.published=1, modResource.deleted=0
0.0000939: Sorted by val, ASC
0.0013371: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`pagetitle`, count(value) as cnt, value as val FROM `modx_site_content` AS `modResource` JOIN `modx_tvss_options` `tvss` ON tvss.resource_id=modResource.id WHERE  ( `modResource`.`parent` IN (10,14,15,18,25,30,19,26,24,16,17) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  GROUP BY val ORDER BY val ASC "
0.0014529: SQL executed
0.0001609: Total rows: 5
0.0000231: Rows fetched
0.0002599: Created inline "modChunk" with name "1530b8d8924dfc8cb34a1caeaa0cf9b0"
0.0185289: Compiled Fenom chunk with name "modchunk/1530b8d8924dfc8cb34a1caeaa0cf9b0"
0.0190470: Returning processed chunks
0.0251350: Total time
6 291 456: Memory usage


Результат:

Лор (3)
Врач4

Уролог (1)
Врач5

Фонитар (1)
Врач3

Хирург (1)
Врач6

Эндокринолог (1)
Врач1

Подскажите пожалуйста как сделать выборку join, так чтобы выводило id документов с одинаковыми значениями в superselect, не могу сообразить как сделать несколько id значения, который имеют tvsuperselect:

Например:

Лор (3)
Врач4 (25), Врач7 (26), Врач5 (15)

Уролог (1)
Врач5

Фонитар (1)
Врач3

Хирург (1)
Врач6

Эндокринолог (1)
Врач1

Антон Грошев
27 ноября 2017, 18:47
0
Вывожу всех врачей у кого есть значение в ТВ, используя компонент TvSuperSelect
{$_modx->runSnippet('pdoPage', [
	'element' => 'tvssResources',
	'tv' => '7',
	'tags' => $_modx->runSnippet('pdoResources' , [ 
		'loadModels' => 'tvsuperselect','class' => 'tvssOption',
		'sortby' => '{ "value":"ASC" }'
		'groupby' => 'value',	'tpl' => '@INLINE {$value}', 'tplWrapper' => '@INLINE {$output}',
		'limit'=>0,'outputSeparator'=>'||'
		]),
	'parents' => 10,  'limit' => 0,
	'tpl' => '@INLINE <div>{$pagetitle}{$tags}</div>',
    ])}
Подскажите пожалуйста как вывести значение в tvsuperselect в ввиде:
Врачи (Коллекция)
— Уролог ( tvsuperselect)
|____ Врач 1 (документ)
|____ Врач 2 (документ)
— Хирург (tvsuperselect)
|____ Врач 1 (документ)
— Лор ( tvsuperselect)
|____ Врач 3 (документ)
Антон Грошев
22 ноября 2017, 00:47
0


так и сделано, мне нужен первый уровень, т.к. в настройке форм параметр «Ограничивающее поле:parent» работает только с первым уровнем, а в коллекции вывод ТВ с типом «изображение» не выводит данные ТВ изображение если открыть второй уровень, как показано на картинке.

Фильтры как работают я знаю.

Мне нужно перебрать по тегам и вывести врачей по специальностям по отдельности, т.к. врач может иметь несколько специальностей, пример я выше указал.
Антон Грошев
09 ноября 2017, 02:13
1
0
Решил таким методом:

{var $par =  $modx->runSnippet('pdoResources', ['parents' => 5,'limit' => 0,'returnIds' => 1,'fastMode' => 1,'scheme' => 'uri','level' => 1,'depth' => 0]) | split}
{set $cnt = $modx->getCount('modResource', ['parent:IN' => $par ])}
{'pdoMenu' | snippet : [
'parents' => 5, 'displayStart' => 1, 'countChildren' => 1, 'fastMode' => 1, 'scheme'=> 'uri', 'level' => 2,
'showLog' => 0,  'firstClass' => '', 'lastClass' => '',  'hideContainers' => 0,  'parentClass' => 0,
'tplOuter' => '@INLINE <ul class="gallery-cats clearfix">[[+wrapper]]</ul>', 
'tplInner' => '@INLINE [[+wrapper]]',
'tplStart' => '@INLINE <li[[+classes]]><a href="{{~5}}">Minden </a> ('~ $cnt ~')</li>[[+wrapper]]',
'tpl' => '@INLINE <li[[+classes]]><a href="{{~5}}?year={$alias}">{$pagetitle}</a> ([[+children]])</li>'
]}
Антон Грошев
20 апреля 2016, 10:37
0
Это все я знаю, уже пробовал, не помогает.
Антон Грошев
19 апреля 2016, 16:51
0
Василий, подскажи пожалуйста, почему в моем примере не срабатывает класс активного пункта class=«active», срабатывает только в &tplStart:
[[pdoMenu? &parents=`5` &level=`1` &showHidden=`1` &displayStart=`1` &countChildren=`1` &fastMode=`1` &scheme=`uri`
	&tplOuter=`@INLINE <ul class="gallery-cats clearfix">[[+wrapper]]</ul>` &tplInner=`@INLINE [[+wrapper]]`
	&tplStart=`@INLINE <li class="[[+classnames]]"><a href="{{~5}}">Minden</a> ([[+children]])</li>[[+wrapper]]`
	&tpl=`@INLINE <li class="[[+classnames]]"><a href="{{~5}}?year={{+alias}}">{{+pagetitle}}</a> ([[+children]])</li>`
	&showLog=`0` 
]]
Что делаю не так?
Антон Грошев
18 апреля 2016, 20:43
0
Решил следующим образом:

[[pdoMenu? &parents=`5` &tplOuter=`@INLINE 
            <ul id="filterOptions1" class="gallery-cats clearfix">
                <li class=""><a href="{{~5}}" class="all">Minden</a></li>
                [[+wrapper]] 
            </ul>`
            &tpl=`@INLINE <li><a href="{{~5}}?year={{+alias}}">{{+pagetitle}}</a></li>`
            &level=`1` &showHidden=`1` &showLog=`0`
]]

[[!pdoPage? &includeTVList=`Kép` &parents=`5`  &hideContainers=`1` &pageLimit=`5` &limit=`8` &ajaxMode=`scroll` &scheme=`uri`
            
            &leftJoin=`{
		    "Parent":{
			"class": "modResource",
			"alias": "Parent",
			"on":"Parent.id = modResource.parent"
		    }
	        }`
	        
	        &sortby=`{"Parent.menuindex":"asc", "menuindex":"asc"}`
            
            &tplWrapper=`@INLINE  
            <div class="row clearfix">
                <ul class="gallery-post-grid holder">
                    {{+output}}
                </ul>
            </div>`
            
            &tplPageWrapper=`@INLINE <div class="pagination"><ul>{{+first}}{{+prev}}{{+pages}}{{+next}}{{+last}}</ul></div>`
            
            &tpl=`@INLINE  
            <li  class="span3 gallery-item" data-id="id-{{+idx}}" data-type="{{+parent:pdofield=`pagetitle`}}">
                <span class="gallery-hover-4col hidden-phone hidden-tablet">
                    <span class="gallery-icons">
                        <a href="{{+tv.Kép}}" class="item-zoom-link lightbox" title="{{+pagetitle}}" data-rel="prettyPhoto[gallery1]"></a> 
                            <a href="{{+uri}}" class="item-details-link"></a>
                        </span>
                    </span>
                    <a href="{{+uri}}"><img src="{$_pls['tv.Kép'] | ereplace : '/^(.*[\/])(.+)(.+)(\..{3,4})$/imu' : '${1}thumbs/${2}${3}_thumb_w270_h220${4}'}" alt="Gallery"></a>
                    <span class="project-details"><a href="{{+uri}}">{{+pagetitle}}</a>{{+id:pdofield=`alkalmazott_technika`}} ({{+parent:pdofield=`pagetitle`}})</span>
            </li>`  
            &showLog=`1` &where=`{"Parent.alias:LIKE":"%[[!#get.year]]%"}`
            ]]
            [[+page.nav]]
Антон Грошев
18 апреля 2016, 12:02
0
еще вопрос:

А если усложнить задачу: вместо id выводить в строку alias.

Пример:

[[pdoMenu?
&parents=`25`
&tpl=`@INLINE <a href="[[~25]]?parent=[[+alias]]">[[+pagetitle]]</a>`
&level=`1`
]]

Как передать номер id из alias в [[!#GET.parent]]?