Всего 125 666 комментариев

Станислав
02 июля 2021, 15:47
0
Я так понимаю, что ошибки могут быть из-за ограничений безопасности modsecurity, а какие могут быть влиять, чтобы я их отключил?
Станислав
02 июля 2021, 15:25
0
Я, видимо, буду первый :-)
В первую очередь огромное спасибо, компонент в идее очень полезный, например у меня много данных пишутся в базу в кроне из под ПУ VDS и управлять заданиями сразу из modx очень удобно. А у вас еще и расширенный функционал. И я в это дополнение по описанию практически влюбился. Но куда ж без ошибок:
при попытках включить даже демо
components/crontabmanager/lib/crontab/CrontabManagerManualFile.class.php 16
PHP warning: file_put_contents(/var/----/scheduler/crontabs/): failed to open stream: ��� �������
[Crontab] Не удалось записать
*/1 * * * * /usr/bin/php7.0 /var/ -...- /scheduler/ControllersLinks/demo.php > /var/------/scheduler/logs/task_id_1_demo.log 2>&1 # t0kc9y

Я так понимаю, что нужно где-то копать в права, осталось только понять — где :-) в github у вас «Для работы необходимо чтобы на хостинге был доступ к функциями: system и passthru для запуска из под php» хотя в кроне ПУ plesk все работает

Далее не совсем понятно структура и принцип вызова) например в обычном режиме я подгружаю класс modx, далее $modx = new modX(); и впоследствии оперирую уже $modx? как пример
if(!$q = $modx->prepare($s)){
                $modx->log(MODX_LOG_LEVEL_ERROR, 'Ошибка выполнения запроса '.$s.' : '.$q->errorInfo()[0].'->'.$q->errorInfo()[1].'->'.$q->errorInfo()[2]);
            }
Я это делаю, потому что когда крон сервера запускает php файл, он не знает про modx ничего.
У вас в demo.php, тот же лог, вызывается как
$this->modx->log(modX::LOG_LEVEL_ERROR, "Задание завершено");
получается основной класс загружен я и должен заменить все свои $modx на $this->modx? Но как крон узнает, что такое modx? не замедлит ли это работу?

Потом не совсем понятна структура, основные файлы для крона должны лежать в schelduer\controllers
ControllersLinks — он сам создает, как я понял, при запуске
а вот папка tests и в ней demotests.php и frontend — это зачем и мне нужно создавать свои при создании своих задач?

Очень надеюсь разобраться и наладить работу, ибо компонент не просто шикарен, а ультрамегасупершикарен
Александр Мельник
02 июля 2021, 15:04
0
что не нашёл внятного способа обновиться. это представляется более простой задачей, чем фактическое создание нового сайта.
это конечно правда. Но врядли вы на этом форуме найдете подсказки по Evo, он целиком и полностью посвящен modx revo
Поскольку это совершенно разные системы, то никакими «обновлениями» перейти с evo на revo нельзя.
Если позволяют знания — попробуйте выбрать что то более современное, сейчас столько новых технологий что глаза разбегаются.
Егор
02 июля 2021, 14:50
0
старый сайт работает, взможно я не совсем чётко выразился
но я немного озадачен тем, что не нашёл внятного способа обновиться. это представляется более простой задачей, чем фактическое создание нового сайта. а если обновиться нереально, то хочется понять, есть ли плюшки в том, чтобы остаться на модэксе. первое впечатление такое, что последние пять лет CMS стремительно теряет популярность
Александр Мельник
02 июля 2021, 14:20
0
Сколько страшных слов вы написали.
provisioner, GoRevo, Catalogfill… что все это такое?
Раз вы пишите что сайт совершенно не работает, то мне кажется у вас один вариант — вытащить базу старого сайта, создать новый сайт (на чем угодно, как кто-то может вам советовать на чем сделать новый сайт, это зависит от ваших знаний) и придумайте способ из базы данных залить товары на новый сайт.
Наумов Алексей
02 июля 2021, 14:18
0
Обновится не выйдет 100%.
Поэтому делаете новый сайт, а старые данные импортируете через базу, csv файлы или как умеете.
Никита
02 июля 2021, 11:41
0
Позволяет ли компонент обрабатывать данные перед публикацией, к примеру через дополнительный сниппет с API переводчика?
Сергей
02 июля 2021, 10:51
0
Не у кого нет таких проблем? Или ни кто не сортирует товары по наличию? Сергей проверьте пожалуйста.
Константин
01 июля 2021, 23:42
0
Добрый вечер! Есть ли какой-нибудь скрипт для перегенерации всех изображений, наподобие скрипта для ms2Gallery?

Изменил некоторые параметры генерации превью изображений, а страниц с галереями у меня несколько. Переходить в каждую и обновлять превью слишком долго, а запустить скрипт в консоли было бы намного быстрее и удобнее.
Айнур
01 июля 2021, 14:04
0
Получается нужно делать, как предложил Андрей?
Баха Волков
01 июля 2021, 13:39
0
Это не решение, После обновления все вернётся к прежнему варианту
evgeniy dovgani
30 июня 2021, 15:29
0
дело было в htaccess
RewriteRule ^(en\/|ua\/|de\/)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
так должно быть
Айнур
30 июня 2021, 14:37
-1
Да. Так тоже можно было.
Но я в файле core/components/minishop2/lexicon/ru/default.inc.php переименовал это.
И еще нужно было очистить кэш.
Всем спасибо. Решено.
Андрей
30 июня 2021, 14:34
+2
Как то так указано в чанке tpl.msEmail:
Это значение и есть в лексиконах:



А формат веса в системных настройках:

Айнур
30 июня 2021, 14:13
0
Как то так указано в чанке tpl.msEmail:
вес одного товара: {$product.weight} {'ms2_frontend_weight_unit' | lexicon}
общий вес заказа: {$total.cart_weight} {'ms2_frontend_weight_unit' | lexicon}
Роман
30 июня 2021, 12:41
0
Возможно в чанках прописано. Могу посмотреть nokerka@ya.ru
evgeniy dovgani
30 июня 2021, 11:21
0
пробую этот плагин, тоже самое, если алиас начинается с de — то он переключается.

<?php
# OnHandleRequest
if($modx->context->get('key') != "mgr"){
    /* grab the current langauge from the cultureKey request var */
    switch ($_REQUEST['cultureKey']) {
        case "de":
            /* switch the context */
            $modx->switchContext('de');
            break;
        case 'en':
            /* switch the context */
            $modx->switchContext('en');
            break;
        default:
            /* Set the default context here */
            $modx->switchContext('web');
            break;
    }
    /* unset GET var to avoid
     * appending cultureKey=xy to URLs by other components */
    unset($_GET['cultureKey']);
}
mayushi
30 июня 2021, 00:22
0
[[!msOptions? 
        &name=`size` 
        &product=`[[+id]]` 
        &tpl=``
        ]]
мы видим зелоебучий массив. просто так значение не вытащить.
используем феном и получаем доступ к массиву
{'msOptions' | snippet : [
          'name' => 'size'
          'product' => $id,
          'tpl' => '@INLINE {$options.size[0]}'
        ]}