Вопросы
создание документа программно не msproduct обычный ресурс
Всем привет.
Опытные разработчики на modx revo нетолько shopов подскажите пожалуйста
как создать документ программно обычный resource
нашёл примеры в инете создаётся с pagetitle всё ок
но при повтороном создании создаётся заново
тоесть как бы простой отзыв из личного кабинет
простая форма, shop нравится всё ок submit
создаётся ресурс программно от usera c pagetitle от usera
ресурс pagetitle с username отзыв 1
ресурс pagetitle с username отзыв 2
ресурс pagetitle с username отзыв 3
ресурс pagetitle с username отзыв 4
ресурс pagetitle с username отзыв 5
как реализовать проверку чтобы ресурсы постоянно несоздавались а был один ресурс и постоянно обновлялся,
несоздавая новые
создаётся ресур (доэтого проверяется есть ли данный ресур и несоздаётся с новым id )
snippet
formit2resource
chunk form
сделал так
буду очень признателен кто поможет дополнить проверку
Если нужен в помошь человек по созданию интернет магазинов, с удовольствием поучавствую с лояльной занятостью.
В прогрраммной части несилён (создание кастомных сниппетов сложная кастомная фильтрация и тд), пишите в личку если нежун в помошь человек и есть надобность
(сроки поджимают, устаём наполянть своим тимом, просто сам делаю нужна помошь неуспеваю отдать shop заказчику).
Опытные разработчики на modx revo нетолько shopов подскажите пожалуйста
как создать документ программно обычный resource
нашёл примеры в инете создаётся с pagetitle всё ок
но при повтороном создании создаётся заново
тоесть как бы простой отзыв из личного кабинет
простая форма, shop нравится всё ок submit
создаётся ресурс программно от usera c pagetitle от usera
ресурс pagetitle с username отзыв 1
ресурс pagetitle с username отзыв 2
ресурс pagetitle с username отзыв 3
ресурс pagetitle с username отзыв 4
ресурс pagetitle с username отзыв 5
как реализовать проверку чтобы ресурсы постоянно несоздавались а был один ресурс и постоянно обновлялся,
несоздавая новые
создаётся ресур (доэтого проверяется есть ли данный ресур и несоздаётся с новым id )
[[!FormIt?
&hooks=`formit2file,formit2resource`
&template=``]]
</div>snippet
formit2resource
<?php
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('username')));
if (empty($doc)){
$doc = $modx->newObject('modResource');
$doc->set('createdby', $modx->user->get('id'));
}
else{
$doc->set('editedby', $modx->user->get('id'));
}
$allFormFields = $hook->getValues();
foreach ($allFormFields as $field=>$value)
{
if ($field !== 'spam' && $field !== 'resource_id'){
$doc->set($field, $value);
}
}
$alias = $doc->cleanAlias($fields['pagetitle']);
if($modx->getCount(modResource, array('alias'=>$alias))!= 0) {
$count = 1;
$newAlias = $alias;
while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) {
$newAlias = $alias;
$newAlias .= '-' . $count;
$count++;
}
$alias = $newAlias;
}
$doc->set('alias',$alias);
$doc->set('template', $template);
$doc->set('published', 0);
$doc->set('hidemenu', 1);
$doc->save();
foreach ($allFormFields as $field=>$value)
{
if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field)))
{
/* handles checkboxes & multiple selects elements */
if (is_array($value)) {
$featureInsert = array();
while (list($featureValue, $featureItem) = each($value)) {
$featureInsert[count($featureInsert)] = $featureItem;
}
$value = implode('||',$featureInsert);
}
$tv->setValue($doc->get('id'), $value);
$tv->save();
}
}
$modx->cacheManager->refresh();
return true;chunk form
сделал так
<input class="field" type="text" name="pagetitle"
value="[[+fi.pagetitle]]отзыв [[*createdon:strtotime:date=`%c`]]
от пользователя [[!+modx.user.id:userinfo=`username`]]" />буду очень признателен кто поможет дополнить проверку
Если нужен в помошь человек по созданию интернет магазинов, с удовольствием поучавствую с лояльной занятостью.
В прогрраммной части несилён (создание кастомных сниппетов сложная кастомная фильтрация и тд), пишите в личку если нежун в помошь человек и есть надобность
(сроки поджимают, устаём наполянть своим тимом, просто сам делаю нужна помошь неуспеваю отдать shop заказчику).
(РЕШЕНО) Проблема с соединением через SSL
Неожиданно возникла проблема с соединением через SSL у заказчика. У меня сайт доступен, все прекрасно. Проверил по ping-admin.ru/index.sema на некоторых серверах (в том числе Москва, центр-1) есть такое сообщение:
«Проблема с соединением через SSL. Скорее всего на сервере отключены ряд шифров для SSL, из-за чего некоторые клиенты не смогут подключиться. Обращение производилось к IP...»
По http сайт прекрасно открывается.
Кто-нибудь сталкивался? Как это вылечить? Или это какое-то локальные проблемы провайдеров?
UPD: перевыпустил сертификат Let's Encrypt — все стало ок!
«Проблема с соединением через SSL. Скорее всего на сервере отключены ряд шифров для SSL, из-за чего некоторые клиенты не смогут подключиться. Обращение производилось к IP...»
По http сайт прекрасно открывается.
Кто-нибудь сталкивался? Как это вылечить? Или это какое-то локальные проблемы провайдеров?
UPD: перевыпустил сертификат Let's Encrypt — все стало ок!
Пустое поле в фильтре YandexMaps

Подскажите, почему слева пусто?
Вывожу вот так:
[[!yandexMaps?
&tvCoords=`coords`
&zoom=`10`
¢erCoords=`59.945648, 30.315868`
&checkZoomRange=`0`
&fieldForBalloonContent=`pagetitle`
&markerPresetFieldText=`pagetitle`
&showMoreLink=`true`
&showMoreLinkTpl=`mapBalloon`
&styleMapBlock=`width:100%; height:60vh;`
&styleFiltersBlock=`display:none;`
&objectsTypesJSON=`[
{
"Buildings": {
"parent":"2",
"preset":"islands"
}
}
]`
]] [РЕШЕНО] $modx->newQuery получить значение TV зная id документа
Добрый вечер. По некоторым причинам нет возможности использовать конструкцию $modx->getObject, но существует еще $modx->newQuery
Как через данный запрос получить значение TV зная id документа?
Спасибо за ответы!
UPD
В моем случае решение выглядит так
Как через данный запрос получить значение TV зная id документа?
Спасибо за ответы!
UPD
В моем случае решение выглядит так
<?php
switch ($modx->event->name) {
case 'msOnGetProductPrice':
$values = & $modx->event->returnedValues;
if (isset($values['price'])) {
$price = $values['price'];
}
$parent = $product->get('parent');
$q = $modx->newQuery('modTemplateVar');
$q->leftJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.tmplvarid = modTemplateVar.id');
$q->where(array('modTemplateVar.name' => 'day', 'modTemplateVarResource.contentid' => $parent));
$q->select('modTemplateVarResource.value');
if ($q->prepare() AND $q->stmt->execute()) {
$sale_day = (string)$modx->getValue($q->stmt);
if (date("N") == $sale_day) {
$q = $modx->newQuery('modTemplateVar');
$q->leftJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.tmplvarid = modTemplateVar.id');
$q->where(array('modTemplateVar.name' => 'percent', 'modTemplateVarResource.contentid' => $parent));
$q->select('modTemplateVarResource.value');
if ($q->prepare() AND $q->stmt->execute()) {
$sale_percent = (string)$modx->getValue($q->stmt);
$sale_percent = (100 - $sale_percent) / 100;
$price = preg_replace('/\s+/', '', $price);
$new_price = round($price * $sale_percent);
$values['price'] = $new_price;
}
}
}
break;
} Не приходят уведомления о заявках на почту
Резко перестали приходить уведомления о заявках на почту. Приходят только в 1С. ModX Evolution 1.1
В чем проблема?
В чем проблема?
Как правильно добавлять связи к кастомным объектам?
Всем привет.
Для проекта надо создать несколько кастомных пдо-объектов. С самими объектами проблем нет, а вот с их связями есть.
Как мне привязать свой объект к пользователю, чтоб потом можно было делать вот так:
Для проекта надо создать несколько кастомных пдо-объектов. С самими объектами проблем нет, а вот с их связями есть.
Как мне привязать свой объект к пользователю, чтоб потом можно было делать вот так:
$modx->user->getOne('myObject1') и так:$modx->user->getMany('myObject2')В схеме объекта я пишу <aggregate alias="User" class="modUser" local="user_id" foreign="id" cardinality="one" owner="foreign" />Достаточно ли этого, или надо каким-то образом модифицировать объект modUser, чтоб у него появилась симметричная связь, только composite? Если надо, то как? Появляются ссылки в поиске непонятные.
Всем привет, в поиске появляются ссылки типа такого (прикладываю скрин), сайт как и большинство был взломан в июне, но его чистили, но до сих пор появляются ссылки в поиске такие, таких директорий в сайте нет, может кто сталкивался с такой проблемой?
Проверка file со стороны сервера перед отправкой письма
Добрый день, не могу ни как разобраться почему у меня не до конца срабатывает условие. Вроде как делаю все по документации formit
создал валидатор «checkfile»
создал валидатор «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мб поля становиться не активными и больше ни чего не происходит, сообщение об ошибке не выскакивает. Подскажите пожалуйста что я сделал не так) Прошу подсказать как правильно импортировать товары через встроенный скрипт minishop2
Я не часто пользуюсь CMS но недавно решил выбрать ModX в качестве платформы для интернет магазина. Сам магазин сверстал и html и прочее на ModX натянул. Сейчас у меня есть csv файл с несколькими тысячами строк данных о товарах: заголовок(title), цена(price), картинки(от 1 на товар до 6)(img) и описание(description). Я знаю что есть скрипт Василия Наумкина, знаю что им много кто пользуется, но я не понимаю как происходит процесс от начала до конца.
Можете пожалуйста сказать, как происходит весь процесс импорта.
P.S. Не кидайтесь тапками pls
Можете пожалуйста сказать, как происходит весь процесс импорта.
P.S. Не кидайтесь тапками pls