Андрей

Андрей

С нами с 28 октября 2016; Место в рейтинге пользователей: #322
Андрей
23 июня 2018, 15:41
0
в админке и нужно, при редактировании ресурса
Андрей
23 июня 2018, 15:35
0
ничего не изменилось.
я же правильно понимаю что 1 нужно заменить на ID пользователя?
Андрей
31 мая 2018, 22:17
0
А как заполнить этот код, если информация, которая должна попасть в переменные содержится в выборке pdoResources?
<a href="#" class="createPdf" 
	data-name="Имя" 
	data-email="mail@mail.ru" 
	data-message="Сообщение в PDF">Создать PDF</a>
<a href="#" class="linkPdf" style="display:none;">Ссылка на PDF</a>
Андрей
19 мая 2018, 23:03
0
вопрос снят, переменную не надо было брать в кавычки. так все работает
$params['parents'] = $idp;
Андрей
19 мая 2018, 22:55
0
вычитал что нужно создать сниппет и вызывать его в чанке.
<?php
$params['parents'] = '$idp';
$params['depth'] = '1';
$params['tpl']='tpl.project';
$params['sortby']='menuindex';
$params['sortdir']='ASC';
$params['showUnpublished']='1';
$params['showHidden']='1';
$params['limit']='100';
$html = $modx->runSnippet('pdoResources', $params);
return $html;
так обработка идет, но почему-то вызов в чанке tpl.project [[+pagetitle]] дает вообще какие-то случайные ресурсы, у которых точно не один родитель.
Андрей
13 мая 2018, 19:46
0
<meta property="og:image" content="[[+properties.first_img_src.0]]">
выдает пустоту.
создал плагин с кодом из инструкции, поставил галочку напротив события onbeforedocformsave, пересохранил нужный документ, но все равно не работает.
картинки в статье есть
Андрей
10 апреля 2018, 22:21
0
А можно по-подробнее?
Честно говоря 2 вопроса:
1. не нашел такого события вот тут
2. даже если найти — что дальше делать). Есть ресурс с сотней дочерних элементов и если название можно оставить таким же, это ни на что не влияет, то алиасы все нельзя оставить старые — как минимум это будет вызывать конфликт с исходным ресурсом, а хотелось бы чтобы алиас менялся, но только родителя, а дочерние тогда не будут конфликтовать.
Андрей
10 апреля 2018, 20:27
0
оказался какой-то глюк. код верный.
pagetitle это 4 цифры и визуально они были идентичны, а по факту чем-то отличались, после того как я переввел цифры и сохранил ошибка пропала. кто подскажет в чем могла быть проблема и как проверить есть ли она еще? ресурсов много все руками не проверишь, но в остальных выборочно проверил — все работает.
Андрей
03 апреля 2018, 23:11
0
Спасибо!
Андрей
03 апреля 2018, 22:23
0
понадобилось добавить условие для поиска (выяснилось что заголовки могут повторяться в других разделах), доработал код вот так
<?php
$q = $modx->newQuery('modResource');
$q->where(array('pagetitle' => $idsearch, 'parent=' => array('993','992','995','989','990','991','994','996','997','988')));

$resource = $modx->getObject('modResource', $q);

$iddd = $resource->uri;

return $iddd;
на 99% дает верный результат, но в нескольких случаях выдает ресурс у которого родитель не перечислен в условии. что не так?
Андрей
01 апреля 2018, 13:25
0
написал такой сниппет, по идее он должен формировать двумерный массив, но он выводит пустой массив
$pdo = $modx->getService('pdoFetch');

$resources = $pdo->getCollection(
	'modResource',
	array('parents' => '4499', 'sortby' => 'createdon', 'sortdir' => 'DESC')
);
$tree = array();
foreach ($resources as $resource) {
	$cat = $resource['parent'];	
	$mc = $resource['id'];		
	$tree[$cat][$mc][] = $resource['pagetitle'];
}
return $tree;
Андрей
28 марта 2018, 18:43
0
первый вариант годится только для 2 условий, при большем количестве будет обрезаться, по ссылке выше это разбирали, а мне нужно чтобы условий было неограниченное количество, ну до 20 по крайней мере точно.
Андрей
27 марта 2018, 22:21
+1
в итоге вот рабочий код, может кому поможет
[[!pdoPage?
                         &parents=`9`
                         &depth=`2`
                         &tpl=`tpl.tpl`
                         &sortby=`pagetitle`
                         &sortdir=`ASC`
                         &tvPrefix=``
                         &includeTVs=`test, NameReal, TC`
                         &where=`["test = '5541' OR test = '5172'"]`
                         &limit=`30`
                        ]]
Андрей
27 марта 2018, 21:50
0
на тот сервис у меня антивирус ругается, но да, нужно было вытянуть в одну строку
&where=`["TVtest.value = '5541' OR TVtest.value = '5172'"]`
теперь так
0.0597908: Added where condition: 0=TVtest.value = '5541' OR TVtest.value = '5172', modResource.parent
и выборка теперь дает пустой результат вместо 100%, а в дочерних документам точно есть удовлетворяющие условию.
Андрей
27 марта 2018, 21:30
0
так в логах вообще пропало упоминание про условие
0.0556102: Added where condition: modResource.parent:IN
синтаксис я брал из этого поста, там одинарные кавычки были
Андрей
27 марта 2018, 19:02
0
вот такой
if(!$docs = $modx->getCollection('modResource', array(
    'parent' => 4500,
))){return;}

foreach($docs as $doc){
    $content .= Adr.$doc->get('pagetitle');
}
return $content;
Андрей
27 марта 2018, 10:57
0
В общем, я понял что стандартными средстами не обойтись, написал маленький сниппет, который вывод условие для where вида “Adr:12,Adr:13”, а как можно его сделать корректным “Adr”:“12”,“Adr”:“13”?