Вакансия full-time MODX Evo разработчик

60 000
Основной стэк: Modx Evolution + чистый JS + PHP.

Встречается Laravel, blade, Vue, jQuery

Задачи:

— Верстка и правка верстки согласно дизайну

— работа с CMS

— Разработка несложных решений на ModX

— Работы с использованием js, php

— Разработка и доработка функционала сайтов (решение проблем, доработка разделов)

Необходимые умения:

— BEM, Адаптивная верстка, bootstrap-grid, flex

— Работать с AJAX запросами (REST API) и отрисовывать результаты (JS/jQuery/Vue)

— Свободно оперировать базовым JS/PHP (работа с DOM, события, условия, циклы, вывод данных из массива)

— Базовый MySQL CRUD

Остальные навыки, в т.ч. по специфике CMS, нужно быть готовым доучить

— работа удаленно;
— полный рабочий день с 9:30 по 18:00 по МСК;
— оплата 60 000р/месяц с возможностью роста.

С вашими откликами пишите сразу в телеграм — t.me/pacific_chase. Потребуется выполнить небольшое тестовое задание.
Кирилл
10 сентября 2023, 16:12
modx.pro
281
0

Обратная нумерация результатов выборки pdoResources

вывожу 10 ресурсов с сортировкой по параметру
в названии нумерацию по idx

какой бы я не делал сортировку DESC или ASC сами результаты сортируются как надо НО нумерация идет с 1 до 10
а хотелось бы как то сделать с 10 до 1

есть варианты как это реализовать?
Евгений
09 сентября 2023, 17:28
modx.pro
450
0

Сортировка "По умолчанию" в mFilter2

Не нашёл готового решения, по этому поправил скрипт сам
В моём примере мне нужно было в сортировке-ссылке из документации по mFilter2 сделать сортировку «по умолчанию», но не отдельной ссылкой, а при повторном клике. При том реализовано 2 варианта. Если я сортирую по скидкам, то сбрасываю фильтр на второй клик. На остальные ссылки делается сортировка по desc, потом по asc, потом сбрасывается фильтр.
Александр
09 сентября 2023, 15:22
modx.pro
1
1 023
+1

Не выдает город по ip

Здравствуйте, использую код

$api_key = 'ВАШ_ТОКЕН';
$ip_address = $_SERVER['REMOTE_ADDR'];

$url = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=' . $ip_address;

$options = [
    'http' => [
        'header' => "Content-Type: application/json\r\n" .
                    "Authorization: Token " . $api_key . "\r\n",
        'method' => 'GET'
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);

if (isset($data['location']['data']['city'])) {
    return "Город посетителя: " . $data['location']['data']['city'];
} else {
    return "Не удалось определить город";
}
токен обновлял… в обычном файле index.php на сервере работает код, в mox revo в сниппете никак не хочет работать, выдает «Не удалось определить город. „

file_get_contents работает
cURL тоже работает.
Игорь
08 сентября 2023, 18:24
modx.pro
362
0

phpthumb как получить превьюшку без лишнего поля вокруг

Добрый вечер!
Делаю превьюшки через phpthumbon
[[+image:phpthumbon=`w=640&h=640&f=png&zc=0&far=TL`]]
Картинок много и все разные (вертикальные, горизонтальные, квадратные)…
Нужно вывести их «как есть» без полей вокруг.
Если делать как у меня в примере — вокруг картинок появляется пустое поле. т.е. они вписаны в квадрат.
А мне нужно, чтобы просто получалась превьюшка без лишних полей вокруг.

Подскажите правильный код пожалуйста.
Олег
07 сентября 2023, 21:16
modx.pro
410
0

mSync и Сбис - импорт остатков по складам

Здравствуйте!
К сожалению, период бесплатной поддержки автора закончился, поэтому пишу сюда. Есть ли здесь люди, разбирающиеся в мСинке? Нужен совет.
Задача была такая — синхронизировать Сбис и сайт. mSync для этого вполне подошел. Затем клиенту понадобилось выгружать остатки отдельно по каждому складу. И тут возник вопрос, как это сделать.
pandaworks
06 сентября 2023, 12:24
modx.pro
2
454
0

[СДЕЛАЙ САМ] Поиск с mSearch2 и SendIt без перезагрузки страницы и динамическими параметрами

Приветствую, думаю ни для кого не секрет, что mSearch2 не умеет показывать результаты поиска без перезагрузки страницы, а pdoPage не умеет «на лету» менять параметры. На своём сайте я захотел сделать морфологический поиск услуг без перезагрузки, с постраничной навигацией и возможностью выбирать категорию поиска. Ниже опишу чтобы для этого было предпринято.
Артур Шевченко
06 сентября 2023, 10:47
modx.pro
3
859
+13

MiniShop3 для MODX3. Что нового.

Всем привет. Продолжаю разработку компонента, а заодно рассказываю — что нового.

Если прошлые месяцы основное внимание было уделено админке и администрированию, то в августе фокус внимания сместился на фронт.

Начал с того, что переделал сниппет msProducts. Подробности ниже.
Николай Савин
05 сентября 2023, 12:03
modx.pro
937
+21

Как Увеличить скорость работы сайта

Всем доброго времени суток. Очень надеюсь на помощь людей которые занимались оптимизацией скорости работы сайта на modx.

Что имеем.
MODX Revolution 2.8.5
Minishop2 последняя версия

Фильтрация работает через mfilter2

Имеет категория товаров на ней с помощью плагина debugparser смотрим скорость отдачи страницы
333
Другая категория выглядит вот так
234

Все перевел на fenom и на файлы. Но скорость все равно оставляет желать лучше.

Товаров всего около 7к на двух языках.

Подскажите что можно сделать для увеличения скорости работы сайта. Спасибо.
Maks
05 сентября 2023, 06:02
modx.pro
536
0

Подскажите как брать ошибку!? PHP warning: Invalid argument supplied for foreach()

Добрый вечер!

Пытаюсь спарсить XML фаил с помощью catalogfill вроде в логах показывает массив но не добавляет их в TV:

[0] => Array
(
[] => Array
(
[0] => true
[1] => opt.globusceramica.ru/catalog/grespania/alabaster/13/
[2] => 3790
[3] => RUR
[4] => 96
[5] => 45x120
[6] => Глянцевая
[7] => Мрамор
[8] => Бежевый
[9] => 45
[10] => м2
[11] => 5830
)

[tv1] => opt.globusceramica.ru/upload/iblock/cd3/1ntxgpep3rui5c6xajqg8f14clrrltqw.jpg
[pagetitle] => ALABASTER ALABASTER BEIGE 45х120
)

Кусок из XML фаила именно параметры с названием не хочет
<param name="Размер"45x120</param>
Кусок из XML
<offer id="14" available="true">
     <currencyId>RUR</currencyId>
     <categoryId>96</categoryId>
     <picture>http://opt.globusceramica.ru/upload/iblock/ef2/c26wewu3mp4gqubj539u1n5i7s304o4u.jpg</picture>
     <name>ALABASTER ALABASTER TEBAS 45х120</name>
     <param name="Размер">45x120</param>
     <param name="Поверхность">Глянцевая</param>
     <param name="Рисунок">Мрамор</param>
     <param name="Color">Бежевый</param>
     <param name="РРЦ">9999</param>
 </offer>

Ошибку выдает в этом месте foreach($node as $k => $v) {:

* Переводит XML объект в массив, сохраняет значения и их xpath
     * 
     */
    public function parceXML($xmlObject, $out=array(), $level=0){
        
        //foreach($xmlObject->attributes() as $a => $b) {
        //    echo $a,'="',$b,"\"\n";
        //}
        
        foreach ((array) $xmlObject as $key => $node){
            
            //Атрибуты элемента
            if($key=='@attributes'){
                foreach($node as $k => $v) {
                    $this->keys[1][] = '@attributes.'.$k;
                    $this->values[] = trim($v);
                }
                continue;
            }
            
            if(is_object($node) || is_array($node)){
                
                //var_dump(count($this->keys[0]),$level,$key,implode('/',$this->keys[0]));
                //var_dump(implode('/',$this->keys[0])); echo "\n\n";
                
                //убираем с конца массива ключей значения, которые не соответствуют текущему уровню вложенности
                if(/*$level > 0 && */count($this->keys[0]) > $level){
                    $this->keys[0] = $this->array_mpop($this->keys[0],(count($this->keys[0]) - $level));
                }else{
                    $level = count($this->keys[0]);
                }
                if(!is_numeric($key)) $this->keys[0][] = trim($key);
                
                $out[$key] = $this->parceXML($node,$out,$level+1);
                
            }else{
                $this->keys[1][] = implode('/',array_merge($this->keys[0],array($key)));
                $this->values[] = trim($node);
                $out[$key] = trim($node);
            }
        }
        
        return $out;
    }
Подскажите где исправить!?
Дмитрий
04 сентября 2023, 18:47
modx.pro
710
0