$modx->newQuery получить значение TV зная id документа

Добрый вечер. По некоторым причинам нет возможности использовать конструкцию $modx->getObject, но существует еще $modx->newQuery
Как через данный запрос получить значение TV зная id документа?
Спасибо за ответы!
MrKarandash
5 часов назад
19
0

Не приходят уведомления о заявках на почту

Резко перестали приходить уведомления о заявках на почту. Приходят только в 1С. ModX Evolution 1.1
В чем проблема?
Данила
7 часов назад
18
0

Устранить ошибки на сайте

7 15 000
Вот ТЗ docs.google.com/document/d/1mO6WDkY7QDoxhsbVW8Sdnr5LMCXF8jC0GdZYfJhofcs/edit

Цену указал от балды, оцениваю ваши предложения.

Писать лучше в vk.com/id14360
Олег
9 часов назад
35
0

Как правильно добавлять связи к кастомным объектам?

Всем привет.
Для проекта надо создать несколько кастомных пдо-объектов. С самими объектами проблем нет, а вот с их связями есть.
Как мне привязать свой объект к пользователю, чтоб потом можно было делать вот так:
$modx->user->getOne('myObject1')
и так:
$modx->user->getMany('myObject2')
В схеме объекта я пишу
<aggregate alias="User" class="modUser" local="user_id" foreign="id" cardinality="one" owner="foreign" />
Достаточно ли этого, или надо каким-то образом модифицировать объект modUser, чтоб у него появилась симметричная связь, только composite? Если надо, то как?
Антон
Вчера в 13:19
45
0

Появляются ссылки в поиске непонятные.

Всем привет, в поиске появляются ссылки типа такого (прикладываю скрин), сайт как и большинство был взломан в июне, но его чистили, но до сих пор появляются ссылки в поиске такие, таких директорий в сайте нет, может кто сталкивался с такой проблемой?
Дмитрий
Вчера в 11:34
40
0

Проверка file со стороны сервера перед отправкой письма

Добрый день, не могу ни как разобраться почему у меня не до конца срабатывает условие. Вроде как делаю все по документации formit
создал валидатор «checkfile»
<?php
$output = true;
$maxFileSize = 50 * 1024 * 1024;
$fileName = $_FILES[$key]['name'];
$fileSize = $_FILES[$key]['size'];

if ($fileName != '') {
  if($fileSize > $maxFileSize) {
    $validator->addError($key,'Размер файла превышает 50 Мб.');
    $output = false;
  }
}
return $output;
вызываю форму
[[!AjaxForm?
                &snippet=`FormIt`
                &form=`tpl.AjaxForm.example`
                &hooks=`email`
                &customValidators=`checkfile`
                &emailSubject=`Сообщение с сайта [[++site_name]]`
                &emailTo=`[[++emailsender]]`
                &validate=`name:required,email:required,phone:required,files:checkfile`
                &validationErrorMessage=`В форме содержатся ошибки!`
                &successMessage=`Сообщение успешно отправлено`
            ]]
и вот чанк самой формы
<form action="" class="ajax_form af_example" enctype="multipart/form-data">
	<div class="left">
	    <div class="group">
    		<input type="text" name="name" value="[[+fi.name]]" placeholder="Имя">
    		<span class="error_name">[[+fi.error.name]]</span>
		</div>
		<div class="group">
    		<input type="phone" name="phone" value="[[+fi.phone]]" placeholder="Телефон">
    		<span class="error_name">[[+fi.error.phone]]</span>
		</div>
		<div class="group">
    		<input type="email" name="email" value="[[+fi.email]]" placeholder="Электронная почта">
    		<span class="error_name">[[+fi.error.email]]</span>
    	</div>
		<input type="file" id="file" name="files" value="[[+fi.files]]">
		<label for="file" class="file">
			<p>Прикрепить файл</p>
			<p>не более 50 мб</p>
		</label>
		<p class="error_files">[[+fi.error.files]]</p>
	</div>
	<div class="right">
		<textarea name="text" placeholder="Сообщение"></textarea>
		<div class="range-slide">
			<p class="title">Ваш бюджет</p>
			<div id="slider" data-min="35000" data-max="400000"></div>
            <div class="numbers">
                <span id="input-with-keypress-2"></span>
                <p>–</p>
                <span id="input-with-keypress-3"></span>
                <input type="text" id="input-with-keypress-0" name="price_from" value="1000000">
                <input type="text" id="input-with-keypress-1" name="price_to">
            </div>
        </div>
		<button type="submit">Отправить</button>
		<p>Нажимая на кнопку «Связаться», я даю согласие на обработку персональных данных, как описано в «<a href="#">Соглашении об использовании сайта</a>»</p>
	</div>
	    [[+fi.success:is=`1`:then=`
    <div class="alert alert-success">[[+fi.successMessage]]</div>
    `]]
    [[+fi.validation_error:is=`1`:then=`
    <div class="alert alert-danger">[[+fi.validation_error_message]]</div>
    `]]
</form>
при отправки формы с файлом превышающим 50мб поля становиться не активными и больше ни чего не происходит, сообщение об ошибке не выскакивает. Подскажите пожалуйста что я сделал не так)
Александр
Вчера в 10:38
25
0

Прошу подсказать как правильно импортировать товары через встроенный скрипт minishop2

Я не часто пользуюсь CMS но недавно решил выбрать ModX в качестве платформы для интернет магазина. Сам магазин сверстал и html и прочее на ModX натянул. Сейчас у меня есть csv файл с несколькими тысячами строк данных о товарах: заголовок(title), цена(price), картинки(от 1 на товар до 6)(img) и описание(description). Я знаю что есть скрипт Василия Наумкина, знаю что им много кто пользуется, но я не понимаю как происходит процесс от начала до конца.
Можете пожалуйста сказать, как происходит весь процесс импорта.
P.S. Не кидайтесь тапками pls
Марк
19 мая 2019, 14:23
101
+1

[РЕШЕНО] miniShop2. Связи товаров, вывод с условием, Fenom

Подскажите, пожалуйста, как правильно указать переменную условия наличия у товара связанных товаров?..
Вызываю Связанные товары с условием:
{if ***************}
<h3>Сопутствующие товары:</h3>
     {'!pdoPage@Bootstrap4' | snippet : [
            'element' => 'msProducts',
            'tpl' => 'tpl.msProducts.row',
            'parents' => '2',
            'link' => '1',
            'limit' => '5',
            'master' => $_modx->resource.id,
        ]}
{/if}
Решение:
{var $links = '!pdoPage@Bootstrap4' | snippet : [
    'element' => 'msProducts',
    'tpl' => 'tpl.msProducts.row',
    'parents' => '2',
    'link' => '1',
    'limit' => '5',
    'master' => $_modx->resource.id,
	'showlog' => 1
]}
{if $links?}
<h3>Сопутствующие товары:</h3>
<div class="card-deck">
    <div class="row justify-content-around">
        {$links}
   </div>
</div>
{'page.nav' | placeholder}
{/if}
websfera
19 мая 2019, 11:50
59
0

Как через плагин внести изменения в поле content?

Какое событие нужно брать?
<?php
if ($modx->event->name == 'OnLoadWebDocument') {
     $content = str_replace(' src='," data-src=",$content);   
}
Николай
19 мая 2019, 09:40
50
-1

runProcessor('resource/update', $data) стирает существующие значения TV

Обновляю ресурс, например так:
$data = Array
(
'class_key' => 'msProduct',
'context_key' => 'web',
'tvs' => '1',
'tv93' => '1558185960',
'price' => '5',
'article' => '20015',
'tv91' => '9',
'id' => '3014',
'alias' => 'alia-takoi-vot',
'pagetitle' => 'Заголовок'
);
$response = $modx->runProcessor('resource/update', $data);
А значения других tv, которые не указаны в $data стираются. Это так и должно работать и нужно до этого получить как-то значения всех tv данного ресурса и передавать в data?
Или есть какой-то способ, чтобы обновлять только нужные tv у ресурса?
Павел
18 мая 2019, 16:48
81
0