Константин Ильин

Константин Ильин

С нами с 10 февраля 2014; Место в рейтинге пользователей: #149
Константин Ильин
11 мая 2022, 16:07
0
Спасибо!
Так и сделал, погуглил седня хорошенько, но только щас увидел ваш комментарий)

Установил стандартный CKEditor из репозитория
Первое что надо сделать — включить codemirorr
Системные настройки->CKEditor
Прописываем настройке ckeditor.extra_plugins значение codemirror

Далее
Открываем файл: manager/assets/components/ckeditor/ckeditor/config.js
Добавляем 
config.startupMode = 'source';

Еще одно действие, но возможно только у меня так, файлы как то кешируются, так что надо в браузере надо открыть manager/assets/components/ckeditor/ckeditor/config.js и обновить.
Убедится, что изменения появились и должно заработать.
Константин Ильин
14 апреля 2022, 20:02
+1
'optionFilters' => ('{"proizvoitel:LIKE": "'~$_modx->resource.pagetitle~'"}'),
Константин Ильин
27 марта 2022, 22:00
+1
Если я правильно понял о поиске языковой версии в урл, то вот
<?
// Массив допустимых язоковые версий, можно сделать настройку в модх и через getOption() получить, но это лишний запрос к БД
$allowLanguages = ['en','es'];

// Разбор урла
$queryArray = parse_url($_SERVER['HTTP_REFERER']);


// Разбор пути запроса 
$urlArray = explode('/',  $queryArray['path']);

// Если первый сегмент пути есть в массиве допустимых языков, соответственно урл содержит языковую версию
if(in_array($urlArray[1], $allowLanguages)){
    
    // Тут ищем контекст с языковой версией и делаем переключение на него или что-то другое

}
Константин Ильин
04 марта 2022, 12:20
0
Гляньте:
1. ошибка в Консоли браузера
2. ошибка в Логе modx
3. ошибка в Логе Сервера
4. Если зайти в Админке, в ресурс, MIGX нормально показывает? Это вопрос про ошибку на 1860 строке prnt.sc/3CQsst937gOr
5. Попробовать(естественно с переделками) данный код в Console
Константин Ильин
22 февраля 2022, 23:06
+1
Спасибо всем за отзывы и Спасибо за пояснение Евгению! И спасибо за исправления заголовка, чет косячнул.

Подмечу.
В комментах верно написали, что домены реализованы без контекстов, поэтому сделал по другому.
Домены прописаны у ресурсов в отдельном контексте, в доп поле скрин прикладываю.
prnt.sc/iN53u16cimo8

Получилось повесить плагин на событие OnMODXInit. Код на коленке, но думаю смысл понятен.
if ($modx->event->name != "OnMODXInit" || $modx->context->key == 'mgr') {
    return;
}
$host = $_SERVER['HTTP_HOST'];
$SMTParr = [];
$pos = strripos($host, 'site.ru');
if ($pos === false) {
   /* тут основной домен или же ничего не делать*/
} else {
    $SMTParr = [
        'mail_smtp_helo' => 'smtp.mail.ru', //тут меняем на яндекс если надо
        'mail_smtp_hosts' => 'smtp.mail.ru', //тут меняем на яндекс если надо
        'mail_smtp_user' => 'info@site.ru',
        'mail_smtp_pass' => 'парольпароль',
        'mail_smtp_single_to' => 1,
        'mail_smtp_prefix' => 'ssl',
        'mail_smtp_port' => 465,
        'mail_smtp_auth' => 1,
        'mail_use_smtp' => 1,
    ];
}

if(!empty($SMTParr)){
    foreach ($SMTParr as $k => $v){
        //Тут как раз переназначаем настройки
        $modx->setOption($k, $v);
        $modx->config[$k] = $v;
    }
}
Попробовал отправить форму через ajaxForm все прошло ок. Грубо говоря в яндекс почте куда пришло письмо горит зеленый замочек.

А так резюмируя:
Смотрим что за домен, из условно базы(оно может быть ресурсами отдельными или в тупую массивами прописано) берем данные для сравнения и данные SMTP, и меняем в цикле данные.
www.mail-tester.com/ показывает нормально.

Готов выслушать другие решения.
Константин Ильин
16 декабря 2021, 16:32
0
С pdoMenu проблемы.
В документации написано
&tplOuter — Чанк оформления всего блока меню. По умолчанию: @INLINE <ul [[+classes]]>[[+wrapper]]
При указании tplOuter работает неверно, он начинает использовать его для всех подменю.
prnt.sc/239rcei

Попробовал указать tplParentRow и у него указал ul, помогло.

Решил сделать тест на модхосте, тоже самое
s28405.h8.modhost.pro/

Не могу утверждать данная проблема связана с последними изменениями, но она как видно есть либо в документации неверно написано.
<ul class="test">
    {'!pdoMenu' | snippet : [
        'parents' => 0,
        'level' => 2,
        'tplOuter' => '@INLINE {$wrapper}',
        '-tplParentRow' => '@INLINE <li class="submenu_wrapp {$classnames}"><a href="{$link}" {$attributes}>{$menutitle}</a><ul>{$wrapper}<ul></li>'
    ]}
    <li>
        <a href="#">Заказ звонка</a>
    </li>
</ul>

п.с. Раньше использовал такой «прием» и норм было.
Константин Ильин
30 ноября 2021, 17:24
0
Есть ли ссылки примеры?

Я просто не совсем понимаю, если у меня скрипт будет автоматически логинится, то будет получать права. Он доступен через урл, напрямую. Т.е. «Иван» зайдет по адресу и получит сессию с правами?
и будет ли работать этот прием для CRON
Константин Ильин
30 ноября 2021, 10:24
0
Тоже про все это подумал, решил не рисковать с правами. Создавать процессоры и т.п.
Сделал через newObject. Думал проблема будет с опциями, а там все просто оказалось.

Кому пригодится
// Нестандартные опции, cтандартные опции товара записываются вместе с полями товара
$options['idads'] = $idADS;
$options['floor'] = $floor;

$newProduct = $modx->newObject('msProduct');
$alias = $newProduct->cleanAlias($pagetitle);

//Поля товара(ресурса)
$arrRes = [
    'pagetitle' => $pagetitle,
    'published' => 1,
    'alias' => $alias,
    'content' => $ADS['description'] ?: '',
    'parent' => $parent,
    'show_in_tree' => 0,
    'template' => 20,

    //Стандартные опции товара
    'color' => ['синий', 'красный']
    'old_price' => 0,
    'price' => $ADS['price']['value'] ?: 0,
];

// Можно было использовать fromArray()
foreach ($arrRes as $field => $v){
    $newProduct->set($field,$v);
}

// Собственно, запись нестандартных опций, простая передача массива
$newProduct->set('options', $options);

// сохраняем
$newProduct->save();
Сейчас проблема с загрузкой изображений gallery/upload, там тоже через процессор, видимо тоже права, разбираться надо
Константин Ильин
24 ноября 2021, 16:16
0
а где можно проверить компонент, точнее говоря где такой же вызов компонента?

Например здесь норм
prnt.sc/20s66rs

Видимо модальное окно выше по z-index
Константин Ильин
24 ноября 2021, 16:03
0
miniShop2 2.9.3-pl
MODX Revolution 2.8.3-pl
Google Chrome последний
ctrl+F5 нажимал

Что-то с z-index у списка выбора опции, не могу выбрать опции

prnt.sc/20s4etp
Константин Ильин
27 октября 2021, 23:07
0
21 октября 2021 писал вопрос на modx.pro. Написал отправил, вроде ок. Но потом тоже началось такое же, что сайт недоступен. Иногда проскакивало и открывался. Хотел посмотреть ответили ли мне, захожу и недоступно.
За день до этого тоже, заходил и условно через раз недоступен.
ВПН или прочим не пользуюсь, в тот день все стабильно работало кроме modx.pro.

Может это чем-то поможет… может проблемы глобальнее))
Константин Ильин
21 октября 2021, 15:53
0
спасибо Сергей!
Константин Ильин
11 октября 2021, 15:30
0
Странное поведение, внутрь товара проваливаешься т.е. на самой странице все норм
Константин Ильин
11 октября 2021, 13:22
0
Не подскажете в чем проблема, в image вместо пути к картинке стоит какой-то id(видимо файла)
prnt.sc/1vp26tp

Вывожу через msProducts
В этой же категории есть пару товаров и у них нормально прописан путь
Константин Ильин
27 июля 2021, 18:24
0
Ребят, не в первый раз ошибка при установке минишопа
prnt.sc/1gnp58t

Последние релизы модх ставятся не с той кодировкой
prnt.sc/1gnq1kd

Даже если ставишь свежий модх с кодировкой которая была раньше, все равно при установке минишопа ошибка.

Приходится устанавливать сначала версию модх 2.7.3(т.е. все ок с кодировкой), установить минишоп, потом повышать модх до последней.

хостинг Таймвеб, версия MySQL 5.6
Константин Ильин
06 мая 2021, 22:38
+1
Супер!

Я делал подобный функционал через MIGX, проблема вставала когда использовал msPromocode2 там пересчет цены он сбивал все надбавки к цене, (не утверждаю, но видимо берет цену у продукта, а не из корзины), хотелось бы узнать совместимость с подобными компонентами которые пересчитывают цену
Константин Ильин
08 апреля 2021, 17:46
+1
Так попробуйте для фенома
'where' => ('{ "news_projects":'~$_modx->resource.id~' }'),
Константин Ильин
04 апреля 2021, 17:36
0
У меня Контексты это города. У каждого города свой каталог.
Есть еще общие страницы которые не стоило(не хотелось) дублировать во всех контекстах, например корзина или статьи, отсюда и переключение контекста

Вроде автор кода Илья Уткин
// Поиск Страницы в другом контексте
        if ($_SERVER['REQUEST_URI'] != '/') {
            $uri = substr($_SERVER['REQUEST_URI'],1);
            if (substr($uri,-5) != '.html' && substr($uri,-1) != '/') {
              //$uri .= '/';
            }
            $resource = $modx->getObject('modResource', array('uri' => $uri, 'context_key' => $placeholders['cityContext']));
            if (!empty($resource)) {
                $ctx = $resource->get('context_key');
            } else{
                return '';
            }
        } else {
            $ctx = 'web';
        }
        
        if ($ctx != $modx->context->key){
        	$modx->switchContext($ctx);
        }
например я добавил товар в контексте kazan, если я переду на «общую» страницу будет контекст web, и он ничего не отобразит в миникорзине и в корзине самой.

В целом я решил вопрос по другому, написал на событие добавления, чтобы он присваивал пустой контекст в корзине. По умолчанию там присваивался текущий. Для чего хранится контекст хз, отсюда как и на что это повлияет хз, но я заказы делал — полет нормальный.
case 'msOnAddToCart': 
        $tmp = $cart->get();
        $tmp[$key]['ctx'] = '';
        $cart->set($tmp);
    break;
Константин Ильин
04 апреля 2021, 17:25
0
Не берусь браться интерпретировать как баг, но в документации не совпадение с тем, что на самом деле.
prnt.sc/113zuqe

context общий параметр pdoTools
Константин Ильин
04 апреля 2021, 13:32
0
Приветствую
Столкнулся с проблемой, когда товары в разных контекстах корзина не выводила товара, даже при указании контекста в вызове.
Полез в сниппет msCart, а он и не учитывал этот параметр, а брал текущий
prnt.sc/113uu0p
$miniShop2->initialize($modx->context->key);

Дописал:
$context = $modx->getOption('context', $scriptProperties, $modx->context->key);
$miniShop2->initialize($context);

И это не только в msCart, во всех где есть инициализация и контекст такой недочет
@Иван Бочкарев, есть ли возможность поправить в след релизе? а то клиент вдруг обновится без моего ведома, а я исходник правил.