Всего 123 801 комментарий

Роман
10 января 2023, 23:20
0
Сейчас буду пробовать, пока нашел это modx.com/extras/package/imagecropper но что то не разберусь как работает
Но конечно это большой минус, в wordpress по умолчанию есть такая возможность
Артур Шевченко
10 января 2023, 23:01
+1
Тогда MIGX. Добавляешь в любом удобном ресурсе ТВ этого типа с нужной конфигурацией и заполняешь. Потом в любом месте сможешь его получить. Для ресурса с ID 1
<!-- FENOM -->
{set $buttons = 1 | resource: 'buttons' | fromJSON}
{foreach $buttons as $button}
{$button | print}
{/foreach}

<!-- phx -->
[[getImageList?
    &tvname=`buttons`
    &tpl=`Button.tpl`
    &docid=`1`
  ]]
Артур Шевченко
10 января 2023, 22:49
0
Мне тут коллеги подсказали. Есть Image+ и moreGallery
Антон
10 января 2023, 22:46
0
Спасибо. Изучу!
Простым языком мне нужно что бы в одном месте добавлять кнопки на страницы. А не в самих страницах это все прописывать…
Артур Шевченко
10 января 2023, 22:38
+1
По-моему максимально непонятно вы описали задачу. То, что на скриншоте, можно сделать на MIGX. Причём тут какой-то чанк вообще не ясно.
Роман
10 января 2023, 20:53
0
Обалдеть, даже не вериться, на Evo версии вспомнил даже была такая возможность, печаль :(
Роман
10 января 2023, 20:17
0
Спасибо, но сейчас по умолчанию SVG ВЕЗДЕ в системе прописан как разрешенный к загрузке и тд формат
Ивaныч
10 января 2023, 19:51
0
Решение может оказаться банальным:
Верхнее меню в админке -> Медиа -> Источники файлов -> ставим галку и редактируем Filesystem -> находим параметр imageExtensions -> через запятую прописываем svg -> жмём кнопку Сохранить -> Проверяем результат.
Александр
10 января 2023, 17:54
0
Добрый, подскажите, в новой версии минишоп не приходит телефон в сообщение телеграма. не подскажите, на что нужно теперь заменить {$contacts->phone}?
Роман
10 января 2023, 12:02
0
PHP Version 7.4.33
imagick module version 3.7.0
iconv library version 2.17
GD library Version 2.3.3

Не знаю в чем дело, по моему много лет использую MODx и он никогда не отображал SVG :( хостинг всегда или timeweb или sherlockhost на обоих одно и тоже, даже пустой MODx поднять, закинуть в файловый менеджер любую SVG и она не будет отображаться как превью других изображений, печаль
Димыч
10 января 2023, 11:28
1
0
Продолжается отъем денег у неграмотного населения?

<img loading=lazy>
https://web.dev/browser-level-image-lazy-loading/

https://caniuse.com/loading-lazy-attr
Vladimir
10 января 2023, 11:07
0
Проблема регистрации была в том что я использовал
$modx
а тут нужно было
$this->modx
Алексей Смирнов
10 января 2023, 11:02
0
Вообще странно.
должны отображаться.
Проверьте версию php, чтобы была 7.4
И через информацию о системе (управление — отчеты — инф. о сист — phpinfo) посмотрите какая версия imagick
должна быть выше 3.5.1
Наумов Алексей
10 января 2023, 10:09
0
Да, что-то я совсем не то написал в своем сниппете)))
Vladimir
10 января 2023, 09:17
0
Вот сделал новый метод.
<?php

if (!class_exists('msPaymentInterface')) {
    require_once dirname(__FILE__, 3) . '/handlers/mspaymenthandler.class.php';
}

class EpayHalykBank extends msPaymentHandler implements msPaymentInterface
{

    /**
    * EpayHalykBank constructor.
    *
    * @param xPDOObject $object
    * @param array $config
    */
    function __construct(xPDOObject $object, $config = array())
    {
        parent::__construct($object, $config);

        $siteUrl = $this->modx->getOption('site_url');
        $assetsUrl = $this->modx->getOption('assets_url') . 'components/minishop2/';
        $paymentUrl = $siteUrl . substr($assetsUrl, 1) . 'payment/mspepayhalykbank.php';

        $this->config = array_merge(array(
            'grant_type' => 'client_credentials',
            'debug' => $modx->getOption('epay_debug'),
            'epayTokenAuthUrl' => $this->config['debug'] == 1 ? $modx->getOption('epay_test_auth_url') : $modx->getOption('epay_prod_auth_url'),
            'payPageUrl' => $this->config['debug'] == 1 ? $modx->getOption('epay_test_pay_page_url') : $modx->getOption('epay_pay_page_url'),
            'scope' => 'webapi usermanagement email_send verification statement statistics payment',
            'client_id' => $modx->getOption('epay_client_id'),
            'client_secret' => $modx->getOption('epay_client_secret'),
            'currency' => $modx->getOption('epay_payment_currency'),
            'terminal_id' => $modx->getOption('epay_terminal_id'),
            'postLink' => $modx->makeUrl($modx->getOption('epay_post_success_page_id')),
            'failurePostLink' => $modx->makeUrl($modx->getOption('epay_post_error_page_id'))
        ), $config);
    }



    /**
    * Create Auth Token
    *
    * @param 
    *
    * @return string
    */
    public function paymentAuth(msOrder $order)
    {
        $authUrl = $this->config['epayTokenAuthUrl'];

        $params = array(
            'grant_type' => $this->config['grant_type'],
            'scope' => $this->config['scope'],
            'client_id' => $this->config['client_id'],
            'client_secret' => $this->config['client_secret'],
            'invoiceID' => $this->getOrderHash($order),
            'amount' => $order->get('cost'),
            'currency' => $this->config['currency'],
            'terminal' => $this->config['terminal_id'],
            'postLink' => $this->config['postLink'],
            'failurePostLink' => $this->config['failurePostLink']
        );

        $myCurl = curl_init();
        curl_setopt_array($myCurl, array(
            CURLOPT_URL => $authUrl,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => http_build_query($params)
        ));

        $response = curl_exec($myCurl);
        curl_close($myCurl);

        return json_decode($response, true);

    }


    /**
    * Returns a direct link for continue payment process of existing order
    *
    * @param msOrder $order
    *
    * @return string
    */
    public function getPaymentLink(msOrder $order)
    {

        $authResponse = $this->paymentAuth($order);

        $msAddress = $order->getOne('Address');
        $orderPhone = $msAddress->get('phone');
        $orderEmail = $msAddress->get('email');
        $orderReceiver = $msAddress->get('receiver');
        $orderComment = $msAddress->get('comment');

        if(substr($orderPhone, 0, 1) == '7'){
            $orderPhone = '+' . $orderPhone;
        }
        // if($authResponse['access_token'])
        // 'data' => "{\"statement\":{\"name\":\"Arman      Ali\",\"invoiceID\":\"80000016\"}}",

        return $this->config['payPageUrl'] . '?' .
        http_build_query(array(
            'action' => 'continue',
            'msorder' => $order->get('id'),
            'mscode' => $this->getOrderHash($order),
            'invoiceId' => $this->getOrderHash($order),
            'backLink' => $this->config['postLink'].'?action=success',
            'failureBackLink' => $this->config['failurePostLink'].'?action=error',
            'postLink' => $this->$siteUrl,
            'failurePostLink' => $this->config['failurePostLink'].'?action=error',
            'language' => 'rus',
            'description' => 'Оплата в интернет магазине',
            'accountId' => $this->config['client_id'],
            'terminal' => $this->config['terminal_id'],
            'amount' => $order->get('cost'),
            'data' => array(
                'name' => $orderReceiver,
                'orderId' => $order->get('id'),
                'invoiceId' => $this->getOrderHash($order),
                'phone' => $orderPhone,
                'email' => $orderEmail,                
                'comment' => $orderComment
            ),
            'currency' => $this->config['currency'],
            'phone' => $orderPhone,
            'email' => $orderEmail,
            'cardSave' => true,
            'auth' => $authResponse

        ));
    }
}
Пытаюсь зарегестрировать, так как в доках, через консоль
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->addService('payment', 'EpayHalykBank',
        '{core_path}components/minishop2/custom/payment/epayhalykbank.class.php'
    );
}
Где EpayHalykBank это имя класса оплаты. Но когда хочу добавить этот обработчик, он просто не появляется. Пути проверял, имя файла тоже проверил, он содержит class

Можете пожалуйста подсказать, как исправить?
Роман
10 января 2023, 00:37
0
Спасибо за ссылку, но я не понял что нужно сделать?
Поменять в файле core/model/modx/processors/system/phpthumb.class.php кусок кода или добавить, посмотрел, но у там все так же как у них там в пример тут github.com/modxcms/revolution/pull/15865 не понимаю
Михаил
09 января 2023, 17:50
0
Спасибо!
Сделал так
[[!ecMessages?
&threads=`*`
&tpl=`tpl.ecMessages.Row.all`
&limit=``
&messages=`[[!get? &need=`id`]]`
]]
сниппет get
<?php
return $_GET[$need];