Andrey

Andrey

С нами с 25 января 2018; Место в рейтинге пользователей: #328
Andrey
05 августа 2021, 17:42
0
Плохо понятно. Конструкция верная и должна отрабатывать. Но где здесь pdoPage? Вы это прямо в самом сниппете, внутри, хотите использовать?
Andrey
04 августа 2021, 17:51
0
Скопировал ваш вызов, только parents поменял — не дублируется.
<ul class="nav">
	<li class="dropdown menu-item">
		<a class="dropdown-toggle" data-toggle="dropdown" href="index.php?id=3">test1</a>
		<ul class="nav menu1">
			<li class="dropdown">
				<a href="index.php?id=4">test2</a>
				<ul class="dropdown-menu mega-menu">
					<li class="yamm-content">
						<div class="row">
							<div class="col-md-4">
								<ul class="list-unstyled">
									<li>
										<a href="index.php?id=4">test2</a>
									</li>
								</ul>
							</div>
						</div>
					</li>
				</ul>
			</li>
		</ul>
	</li>
</ul>
Проверьте параметры сниппета pdoMenu, нет ли там лишнего.
Andrey
03 августа 2021, 22:18
1
0
123 — значение по умолчанию, если параметра нет. Можно и без этого, просто:
$vtype = $modx->getOption('type', $scriptProperties);
Или вообще может такое закостылить:
$type = $type;
:D
Andrey
03 августа 2021, 20:10
0
В журнале ошибок нет?
Префикс pdo не менялся?
&tvPrefix=`tv`
или
[[+myMenuTitle:default=`[[+menutitle:default=`[[+pagetitle]]`]]`]]
?
Andrey
03 августа 2021, 17:41
0
А так?
<?php
$values = array();
$vtype = $modx->getOption('type', $scriptProperties, 123, true);
$ids = $modx->runSnippet('pdoResources', array(
	 'parents' => $parents,
	 'limit' => 0,
	 'returnIds' => 1,
	 'includeTVs' => 'certificateBuildingType',
	 'tvFilters' => 'certificateBuildingType==' . $vtype

));
$resources = explode(',', $ids);
foreach($resources as $id){
	 $resource = $modx->getObject('modResource', $id);
	 $tv = $resource->getTVValue($tvname);
	 if(is_numeric($tv)) $values[] = $tv;
}
$out = array_sum($values); 
return $out;
Andrey
30 июля 2021, 17:20
+1
Я не пользовался ни тем, ни другим, но мне кажется вы пытаетесь подсунуть mFilter2 параметры, которые он не принимает. Может создать отдельный набор параметров для googlestorelocator и вызывать так: &element=`GoogleStoreLocator@myParams`, например? Справка по mfilter2.
Andrey
27 июля 2021, 19:48
+1
DEFAULT: no 'resource' property, nor 'tpl'. Returns a comma-separated list of the IDs of the most (or least) popular Resources. This can be passed to the 'resources' property of another Snippet, like getResources. To sort your getResources result set the same way as the mpResources Snippet, you'll want to do this:

```
&sortby=`FIELD(modResource.id,[[mpResources]])`
&sortdir=`ASC`
```
Здесь написано, что можно передать список ресурсов из mpResources в getResources. То есть делать через getResources.
Andrey
27 июля 2021, 19:36
+1
В коде сниппета mpresources.snippet.php нет таких параметров. То есть он не работает с тв вообще. Я так понял.
Andrey
27 июля 2021, 18:57
+1
Я не пользуюсь. Но может проблема в префиксе тв?
<a href="[[+uri]]"><img class="rounded-circle" src="[[+image]]" alt="[[+pagetitle]]"></a>
Andrey
26 июля 2021, 18:15
+1
Не совсем понял, но в modparser.class.php, в строке 541, добавить например:
$this->modx->log(xPDO::LOG_LEVEL_ERROR, "Could not find snippet with name {$tagName}. Resource ID: {$this->modx->resource->get('id')}.");
Да, регистрация ошибок могла бы быть информативней «из коробки», согласен.
Andrey
23 июля 2021, 19:11
0
Можно по условию дебажить прямо в сниппете с выводом различных данных. Что-то такое добавить в pdopage:
if (!is_int($scriptProperties['limit']) || $scriptProperties['limit'] < 1) {
    $modx->log(MODX_LOG_LEVEL_ERROR, 'Ошибка pdopage. Параметр limit содержит: [' . $scriptProperties['limit'] . ']. В ресурсе: ' . $modx->resource->get('id'));
}
В общем, можно поиграться по-всякому.
Andrey
23 июля 2021, 17:39
2
+1
Ну, можно побаловаться с выводом в журнал… Вот вывод id ресурса, например:
$modx->log(MODX_LOG_LEVEL_ERROR, $modx->resource->get('id'));
Можно с пояснительным текстом:
$modx->log(MODX_LOG_LEVEL_ERROR, 'ID ресурса: ' . $modx->resource->get('id'));
Andrey
23 июля 2021, 16:43
0
В вызове pdopage посмотрите не стоит ли в лимите 0.
Andrey
16 июля 2021, 19:57
0
Честно сказать, сложно проследить путь, который проходят данные из формы) Может кто-то ещё сообразит. А что по параметрам сниппетов? В сниппете FormIt не запрещены файлы, например?
Andrey
16 июля 2021, 19:40
0
То есть что с &emailTpl=`email_calctest.tpl`, что без — приходит всё равно вот это?
Andrey
15 июля 2021, 17:56
0
<input type="file" name="sasha" value="123" hidden>
Это для теста?
Andrey
15 июля 2021, 17:55
0
Тут не должно быть что-то вроде:
{$file != '' ? "<p><strong>Файл: </strong>"~$file~"</p>" : ''}
Или куда должны файлы выводиться?)
Andrey
15 июля 2021, 17:16
0
Там написано, что встречено нечисловое значение, а потом деление на ноль. Отследите значения по переменным и типам переменных: $total, $offset, $scriptProperties['limit'], например.
upd: А, это кусок кода оригинального pdoPage?) Думаю тогда стоит посмотреть, как выводите пагинацию и нет ли странного в параметрах сниппета.
Andrey
15 июля 2021, 16:49
0
Файлы в письмах в виде ссылок? Нет ссылок на файлы в письме, да? Пробовали без чанка посмотреть? Убрать &emailTpl=`email_calctest.tpl` и посмотреть что вообще приходит по полям?