Vladimir

Vladimir

С нами с 25 июня 2021; Место в рейтинге пользователей: #285

Не получается вывести ошибку в хуке ajaxform, как исправить?

Допустим есть код в хуке ajaxform, который по какому-то при знаку должен вернуть ошибку и дальше не будет обрабатываться, а сам снипет в вызове такой же формит, согласно докам это можно сделать так
return $AjaxForm->error('Ошибка отправки слишком большой текст');
но когда я ставлю в свой хук, то вообще не реагирует на это.
{'!AjaxForm' | snippet : [
            'form' => 'modal-form-reviews',
            'snippet' => 'FormIt',
            'hooks' => 'rcv3,customReviews,email',
            'emailSubject' => 'Отзыв с сайта {$_modx->config.site_name}',
            'emailTpl' => 'modalFormEmail',
            'validate' => 'first__name:required,rating:required,message:required,g-recaptcha-response:required',
        ]}
Хук
$review = $hook->getValue('message');  
    if(strlen($review) > 1000){
        return $AjaxForm->error('Ошибка отправки отзыва. Слишком большой текст');
    }
Vladimir
15 февраля 2022, 13:10
modx.pro
561
0

Указан неверный код защиты от спама. Tickets, как исправить?

Заполняю форму пишет что код не правильный а код 4 + 1, я написал 5, вроде правильно, но tickets знает лучше и не отправляет форму, в логах пусто.
Код такой
{'!TicketComments' | snippet : [
    'allowGuest' => '1',
    'autoPublish' => '0',
    'autoPublishGuest' => '0',
    'tplCommentForm' => 'reviewsForm',
    'tplCommentFormGuest' => 'reviewsForm',
    'tplCommentGuest' => 'reviewsGuestComment',
    'tplComments' => 'reviewsWrapper'
]}
Код с формой
<form class="callback__form" id="comment-form">
    <input type="text" name="name" id="comment-name" class="def-input" placeholder="{$_modx->getChunk('translate', ['ru' => 'Как вас зовут?', 'kz' => 'Сіздің атыңыз кім?'])}">
    <div id="comment-preview-placeholder"></div>
    <input type="hidden" name="thread" value="[[+thread]]"/>
    <input type="hidden" name="parent" value="0"/>
    <input type="hidden" name="id" value="0"/>
    <input type="hidden" name="form_key" value="[[+formkey]]">

    <input type="text" name="email" class="def-input" value="[[+email]]" id="comment-email" placeholder="{$_modx->getChunk('translate', ['ru' => 'Почта', 'kz' => 'Пошта'])}">


    <div class="def-input" style="padding-bottom:0;border-bottom:0;">
        <label for="captcha" id="comment-captcha">[[+captcha]]</label>
        <input type="text" name="captcha" value="" id="captcha" class="form-control def-input" style="width:100%;"/>
    </div>
    



    
    <div class="def-input">
        <div class="stars" data-stars="3">
            <svg height="25" width="23" class="star rating" data-rating="1">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="2">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="3">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="4">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="5">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <input type="hidden" name="rating" value="">
        </div>                  
    </div>
    
    <textarea name="message" class="def-input" placeholder="{$_modx->getChunk('translate', ['ru' => 'Оставьте свой комментарий', 'kz' => 'Пікір қалдырыңыз'])}"></textarea>
    
    <input type="hidden" name="pageName" value="{$_modx->resource.pagetitle}">
    <input type="hidden" name="pageUrl" value="{$_modx->config.site_url}{$_modx->resource.uri}">

    
        

    <button class="def-btn" type="submit">
        <span>{$_modx->getChunk('translate', ['ru' => 'Отправить', 'kz' => 'жіберу'])}</span>

    </button>
</form>
Vladimir
15 февраля 2022, 10:02
modx.pro
566
0

Не могу получить количество товара в корзине, как исправить?

Казалось бы куда проще, но не работает, не могу получить именно количество товара с опред айди, если выводить
$productId
то это стринга и выдаёт правильные данные, если выводить
$value['id']
тоже стринга, тоже нормальные данные, но при сравнение ничего, не заходит внутрь хотя КАЗАЛОСЬ БЫ, две стринги с одинаковыми данными, КАЗАЛОСЬ БЫ что не так? если в лупе сделать return какой либо переменной выводится но if не срабатывает, что я делаю не так?

<?php
$ms2 = $modx->getService('miniShop2');
$ms2->initialize($modx->context->key);
$cart = $ms2->cart->get();

foreach($cart as $key => $value){
    if($productId == $value['id']){
        return $value['count'];
    }
}

return 0;
Vladimir
14 февраля 2022, 14:27
modx.pro
495
0

Как получить список товаров и поля заказа, при оформлении заказа?

Нужно проверить товары когда нажимается кнопка оформить заказа, и получить из заказа город, пытался так msOnBeforeCreateOrder но там в $msOrder $order не нашёл товаров.

Как получить товары и 1 поле заказа при оформлении заказа?
Vladimir
27 января 2022, 08:45
modx.pro
1 409
0

Обычная запись where работает, но если добавить get не работает, как исправить?

Такая where
{"news-type: LIKE":"%company%"}
работает, но если допустим добавить
[[!#GET.news-type]]
{"news-type: LIKE":"%[[!#GET.news-type]]%"}
То уже не работает, или полностью сгенерироваться строку where в снипете, тоже не работает смотрел по логу

{'!pdoPage' | snippet : [
   'parents' => '[[*id]]',
   'showHidden' => '1',
   'limit' => '8',
   'depth' => '1',
   'level' => '1',
   'showLog' => '1',
   'ajaxMode' => 'default',
   'sortby' => '{ "parent":"ASC", "menuindex":"ASC" }',
   'includeTVs' => 'img,news-type',
   'templates' => '7',
   'where' => '{"news-type: LIKE":"%industry%"}',
   'tpl' => 'newsTpl',

]}
Vladimir
16 января 2022, 09:42
modx.pro
479
0

miniShop2 перестал работать за несколько часов, как исправить?

Вчера всё работало мог открывать создавать категории, сегодня утром при попытки зайти в категорию, товар ошибка 500, а так же при создании категории ошибка 500.

pdoTools miniShop2 переустанавливал.

[2022-01-14 09:23:12] (ERROR @ /core/components/minishop2/controllers/category/create.class.php : 4) PHP warning: dirname() expects exactly 1 parameter, 2 given
[2022-01-14 09:23:12] (ERROR @ /core/components/minishop2/controllers/category/create.class.php : 4) PHP warning: require_once(/resource_create.class.php): failed to open stream: No such file or directory
Vladimir
14 января 2022, 06:24
modx.pro
565
0

filetranslit и fastupload не дружат, как исправить?

При загрузке файла через плагин fastupload, тот что файл он загрузил отличается от того что он отдает, в админке он не изменил имя, а сам файл изменил, допустим были отступы заменил на тире, upper case перевёл в lower case, и при этом этого не отображает в админке и не отдаёт это на сайт. Трим такой установлен
/[\0\x0B\t\n\r\f\a&=+%#<>«»…,!*"~:`@\?\(\)[\]\{\}\|\^'\\\/\/]/
prnt.sc/26d1p1k пример как это всё в админке
Vladimir
13 января 2022, 08:05
modx.pro
407
0

Как отсортировать ресурсы по publishedon и get?

Есть такой код where
{"publishedon:>=": "[[!timestampToUnixTime? &dt=`[[!#GET.news-year]]` &next=`0`]]", "AND:publishedon:<=": "[[!timestampToUnixTime? &dt=`[[!#GET.news-year]]` &next=`1`]]"}
Снипет timestampToUnixTime такой
<?php
if(!$dt){
   
    $dt = date('Y-m-d');
} else {
    $dt = "$dt-1-1";
    $dt = date($dt);
}


if($next == '1'){
    $dt = new DateTime($dt);
    $dt->add(new DateInterval('P1Y'));
    $dt = $dt->format('Y');
}

return strtotime($dt);
Vladimir
05 января 2022, 07:00
modx.pro
844
0

Не получается перейти на внутреннее страницы VPS, как исправить?

Сайт на VPS без домена под ip, .htaccess настроен дефеолтный.
Хочу допустим перейти в каталог и Not Found, когда меняю в
<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
</Directory>
to
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

То уже ошибка 500 идёт.
htaccess такой
RewriteEngine On
RewriteBase /


# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]


RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
AddEncoding gzip .jgz


Header append Vary Accept env=REDIRECT_accept

AddType image/webp .webp


ExpiresActive On
Vladimir
24 декабря 2021, 15:56
modx.pro
434
0

Как использовать fastuploadtv в clientconfig?

Как использовать fastuploadtv в clientconfig? допустим чтобы сразу выбирался файл, а не открывался целый менеджер файлов.
Vladimir
10 декабря 2021, 15:09
modx.pro
475
0