Андрей Степаненко

Андрей Степаненко

С нами с 28 октября 2014; Место в рейтинге пользователей: #8
Отправить деньги
Андрей Степаненко
14 февраля 2020, 22:16
0
1 вопрос: Если не устанавливать значение по умолчанию, то будет прыгать на это поле. Кажется так работает?
Андрей Степаненко
11 февраля 2020, 06:18
0
в компоненте siteDev есть:
Extras/modExtra/_build/elements/_events.php
через который можно создать свое событие.

И обрати внимание на файл build.php в нем есть метод:
/**
     * Add events
     */
    protected function events()
    {
        /** @noinspection PhpIncludeInspection */
        $events = include($this->config['elements'] . 'events.php');
        if (!is_array($events)) {
            $this->modx->log(modX::LOG_LEVEL_ERROR, 'Could not package in System events');

            return;
        }
        $attributes = [
            xPDOTransport::UNIQUE_KEY => 'name',
            xPDOTransport::PRESERVE_KEYS => true,
            xPDOTransport::UPDATE_OBJECT => !empty($this->config['update']['events']),
            xPDOTransport::RELATED_OBJECTS => false,
        ];

        foreach ($events as $name => $data) {

            /** @var modEvent $event */
            $event = $this->modx->newObject('modEvent');
            $event->fromArray([
                'name' => $data,
                'service' => 6,
                'groupname' => $this->config['name_lower'],

            ], '', true);
            $vehicle = $this->builder->createVehicle($event, $attributes);
            $this->builder->putVehicle($vehicle);
        }
        $this->modx->log(modX::LOG_LEVEL_INFO, 'Packaged in ' . count($events) . ' System events');
    }
Который как раз подхватывает: Extras/modExtra/_build/elements/events.php
Андрей Степаненко
10 февраля 2020, 16:50
0
При экспорте товара выгружаются все товары, хотя выборка идет всего несколько товаров.
Напишите сюда:
modstore.pro/office/support
Андрей Степаненко
13 января 2020, 21:57
0
С житьем там сложно, если без работы официальной. Каждые 3 месяца поездки в камбодже, что то такое
Андрей Степаненко
13 января 2020, 20:50
0
Не поверишь))) ИП очень много открывается. Я вот лично не люблю такие сайта делать. Но 100% такие сайты нужны так как учится на чем то надо и не только девелоперам но и ИП!!! По другому не бывает
Андрей Степаненко
06 января 2020, 09:51
0
Пытаюсь найти информацию о xpdo3, где то давно находил информацию что в нем есть поддержка phpunit mock объектов. Может конечно ошибаюсь.
Сейчас есть уже где то описание новых возможностей xpdo3?
Не могу что то найти ничего
Андрей Степаненко
20 декабря 2019, 12:35
+1
В общем это не только крон задания, а так же система уведомлений и готовый API с modx внутри.
Пример кода для создания нового задания
<?php
/**
 * Демонстрация контроллера
 */
class CrontabControllerDemo extends modCrontabController
{
    public function run()
    {
        $this->modx->log(modX::LOG_LEVEL_ERROR, "Задание завершено", '', __METHOD__, __FILE__, __LINE__);
    }
}
все что нужно чтобы в run выполнить свой код.
В modCrontabController еще куча всяких фич. Надо все описывать конечно)))
Андрей Степаненко
20 декабря 2019, 12:27
0
Для нескольких крон заданий компонент наверное смысла ставить нету. Хотя опять же если не умеешь пользоваться crontab через ssh то этот компонент поможет составить список заданий. А потом просто скопировать их в crontab.
Вообще очень спасают уведомления на емайл. Когда отваливается какой то скрипт или сервис, тебя не заваливает сообщениями об ошибке. Так как есть лимит не удачных попыток. К примеру если 10 раз задание завершилось с ошибкой то только после 10 раза уйдёт уведомление и цикл будет повторятся пока администратор не предпримет какое то действие, или работа скрипа не восстановится.
Андрей Степаненко
20 декабря 2019, 11:59
+3
Ну тут все просто, в отличии от Scheduler, в компоненте каждое задание это отдельно задание прописанное в кроне. а в Scheduler все вешается на одно задание.

А так же есть вот эти штуки: Есть уведомления о том что задание завершилось с ошибкой, ведутся логи запуска и завершения задания, и пишет в crontab на прямую.

В общем не стоит сравнивать компонент с какими то существующими. Аналогов для modx явно не найти.

В компоненте можно любое количество контроллеров создать и запускаться будут по отдельности.

В общем надо ставить пользоваться, я вот так простыми словами не опишу даже.
Могу сказать только:
у меня есть проекты где по 50 крон заданий, каждое задание может выполнять хоть час хоть одну минуту, вот и представь сколько будут выполнять задания через Scheduler
Андрей Степаненко
20 декабря 2019, 11:15
+1
Я и не подозревал что php умеет писать в crontab
В это вся и загвоздка.
Очень много серверов настроены именно так что у веб-пользователя нету прав писать задания в crontab.
К пример сервера на ispmanager вообще не дают прав чтобы редактировать crontab даже под ssh
Андрей Степаненко
28 августа 2019, 16:14
+1
Да я вот тоже удивился, включаю перегенерацию ссылок и ничего не происходит, методом тыка проверял, в функцию gettingUrls захожу вижу что возвращаются значения, но в if() какая та лажа происходит.
Может какой то гон именно в php версии, такое бывает.
Андрей Степаненко
28 августа 2019, 15:10
0
Не Знаю толи баг это толи у меня что то неправильно сработало:
prntscr.com/oympu7
В общем почемуто считает что ничего не вернулось, доработала, тогда заработало.
Может кому пригодится
Андрей Степаненко
15 августа 2019, 15:31
+1
Еще бы в низ меню съезжало вместе со скролом))
prntscr.com/ot12pi
Андрей Степаненко
15 августа 2019, 11:05
0
Еще пара функций в арсенале класса:
public function put($url, $parameters=array(), $headers=array())
public function delete($url, $parameters=array(), $headers=array()){
не стал про них писать, так как:
хотя они не так часто нужны.
Андрей Степаненко
14 августа 2019, 07:58
+1
И пофигу, что там есть серьезные проблемы с установкой многих заголовков (этого просто нельзя сделать без расширения класса).
Здесь есть проблема::
$client = $modx->getService('rest.modRestCurlClient');
Здесь нет:
/* @var modRest $client */
$client = $modx->getService('rest', 'rest.modRest');
это два разных класса.
Тока прошу, не начинай опять про отставания modx....
Андрей Степаненко
03 августа 2019, 21:53
0
А что именно хотите услышать?
Ну то есть сколько аргументов нужно чтобы принять решение нужен модекс или другую систему использовать?

Технологии используются под задачу, под человека, под его способности, под проект.
Не знаю ещё сколько перечислять аргументов чтобы просто ответить на ваш вопрос.

Давайте возьмем задачу: Развертывание интернет магазина с синхронизацией 1с, с поиском и фильтрами (сами знаете какое дополнение), локацией, кучей служб доставок, кучей платежных систем, купонами, скидками И другими дополнениями.
Такой контраргумент вас устроит? Причём опыт разработчика достаточен не мега космический.

контр аргументов этому всему можно много представить.
На что я вам отвечу: есть проблемы в каждой системе. Сами думайте какую использовать! Технологий опробовано множество: Меня модекс устраивает. Если чего то не хватает подключаю composer. Использую vuejs когда есть желание и виденье что через него можно решить легче. Настаиваю сервер под проект. Использую git если потребность есть. Пишу скрипты на python если не справляется Php. Подключаю phpunit test к MODX и кучу всего того что нужно чтобы работал какой то проект.
Про то что какую то задачу можно проще решить на lare, в курсе! Это не о чем не говорит, если неплохо справится и Modx. Да здесь может на начальном этапе laravel спасёт, но блин не факт что он будет отлично справляться в дальнейшем.
Ещё раз повторю, с Modx есть проблемы но они решаемы!!!
Андрей Степаненко
03 августа 2019, 21:04
0
Аналогичного мнение! И аналогичная просьба!
Или предлагает мне заткнутся? Я про то что мне нельзя высказаться?
Потом Николая я не затыкал!