Всего 125 932 комментария

deleted
30 апреля 2023, 21:51
0
дамп базы можно одной строкой через exeс сделать, правда не помню как
Павел
30 апреля 2023, 21:50
0
Спасибо, я что-то начал городить по типу
{set $idparenrt = $modx->getObject('modResource', $modx->resource->get('parent'))}
Денис Усманов
30 апреля 2023, 19:43
+1
В чанке article вывести [[+parent]]
Александр Мельник
30 апреля 2023, 09:25
+6
Человек решил свою проблему, поделился и молодец.
Использовать нам или нет — это уже наше дело. Кто может — напишет лучше. Кто не может — возьмет этот пример. Зачем прям минусовать заметку.
weranda
30 апреля 2023, 09:09
0
Есть два вопроса к вам:
1. Знаете реализацию того, что нужно?
2. Аргументировать возможность загрузки файла — почему не очень хорошая идея?
Андрей
30 апреля 2023, 00:03
0
Выпиливать проверку авторизации в компоненте. Но давать возможность загрузить файлы гостю не очень хорошая идея.
Павел Бигель
29 апреля 2023, 22:47
0
Что это? Зачем это?

Удачи выполнить такой запрос на более менее большой бд
$result = $connection->query("SELECT * FROM $table");
Илья
29 апреля 2023, 12:08
0
Данный скрипт был написан для сайта на котором BackupMODX, по ряду причин не устанавливался корректно и не выполнял свои функции.
Артур Шевченко
28 апреля 2023, 22:05
+1
mSync всё требуемое может. Более того, в mSync руками можно ничего не прописывать, а задать совокупность характеристик товара, по которым он будет искать соответствие. А если вдруг что-то потребуется чего из коробки нет, всегда можно плагином докрутить.
Денис Усманов
28 апреля 2023, 16:02
-1
Могу дать развёрнутое объяснение по данной задаче, напишите мне в ЛС в ТГ (указан в моем профиле). После обсуждения в ЛС, могу сюда сам или Вы самостоятельно напишите, какое я предлагаю решение. И скажу заранее, возможно mSync приобретать даже не обязательно…
Руслан Алеев
28 апреля 2023, 13:15
0
В FormIt есть встроенная защита от спама, в виде математического уравнения, см. docs.modx.com/current/ru/extras/formit/formit.hooks/math Но мало видел, что ее используют, хотя, думаю, что нормально работает.
Эдуард
28 апреля 2023, 13:00
0
На многих сайтах я делал простой append (точнее prepend) в форму с фиксированной строкой, не заморачивался с генерацией случайно строки.
Спама было мало, но тоже подтверждаю на некоторых сайтах спам-боты пробивали и сыпался спам, тут как повезет. Так как способ простой, то ставил в формы по умолчанию на все сайты. Защищает от ботов, которые не умеют в JavaScript (интересно много таких сейчас?)
Денис Усманов
28 апреля 2023, 10:04
0
Тоже хотел сделать именно при наведении, но решил, напишу сначала простенькую статью. А там глядишь люди дадут хорошие советы, и я перепишу статью… Благодарю! За это утро, мне уже несколько человек дали хорошие решения, которые я обязательно тут покажу!
Константин Ильин
28 апреля 2023, 10:00
+1
Если вкратце у меня работает так (Подсмотрено у Артур Шевченко, спасибо ему)
1. тоже генерируется рандомная строка
2. тоже проверяется через contains
3. и полю nobot эта рандомная строка присвоится только(!) при наведении на форму, а у вас как я понял сразу.

У меня полет нормальный
{set $secret = md5(rand(0,999999999))}
{'!AjaxForm' | snippet :[
    ....
    'secret' => $secret ,
    'validate' => 'vscval:contains=^'~$secret~'^'
    ....
]}

//В форме
<input type="hidden" name="vscval" style="display:none" data-vscval="{$_pls['secret']}">

//Js
function watchForms(){
    if(document.querySelector('form')){
        document.querySelectorAll('form').forEach((ff) => {
            ff.addEventListener('mousemove', (e) => {
                if(ff.querySelector('input[name="vscval"]')){
                    let inpSecret = ff.querySelector('input[name="vscval"]'),
                        inpSecretData = inpSecret.getAttribute('data-vscval');
                    if(inpSecret.value == ''){
                        inpSecret.value = inpSecretData;
                    }
                }
            });
        });
    }
}
watchForms()
Андрей Степаненко
28 апреля 2023, 09:24
0
Есть отличная статья на мой вгляд
Показывает что сейчас произошло с GPT
habr.com/ru/articles/727092/

Процесс идет и его не остановить)
Александр Мельник
28 апреля 2023, 09:04
+2
И в ваших словах есть правда.
Видимо мир вообще устроен циклически. Мы сначала изобретаем технологии, чтобы нам проще жилось, а затем технологии отупляют нас и уничтожают.
Ведь получается, что через какое то количество лет и правда появится профессия «оператор чатбота», цель которого будет уже не написание кода, а формулировка правильных вопросов. И тогда человек вообще разучится программировать. Как мы уже разучились считать, после того как изобрели дешевые калькуляторы. Моей маме 80 лет и она прекрасно в уме умножает 3 значные числа, А на листке в столбик может делить огромные числа. А я уже не могу. Чтобы умножить 23 на 56 лезешь за калькулятором. Или когда телефоны были стационарные, я помнил около 30 номеров — друзья со школы, другие важные номера. КОгда появились мобильные и их телеонные книжки — я с трудом вспоминаю свой номер телефона, не говоря уже о 30 других. Мы, как человеческий вид (ну хорошо, не буду говорить мы, скажу — я) тупеем, и это плата за использование технологий.
У Айзека Азимова есть фантастический рассказ, как люди в 2100 году заново изобретали таблицу умножения, видимо фантаст был прав)
Чтобы разорвать этот круг нужно остановится в какой то точке. Вот вы пишите, может гугл запретить. А было бы неплохо. По краней мере для программистов, чтобы гугл предоставлял доступ только к документации. А не к чужому коду и прочему. Хочешь чтото написать — будь добр изучи и напиши.
Но понятно что это мои фантазии…
Андрей Степаненко
28 апреля 2023, 09:01
0
Надо незабывать что есть ответственность, тестировани, отладка
Чем программисты как правило пренебрегают

Вот задача:
Написать скрипт вывода даты

А где здесь написано что его тестировать нужно????????
Проект менеджеры и другие постановщики задач глюбоко ошибаются в том что программист будет тестировать свой код
Они хотят конфетку готовую
Не зря существую тестироващики

Это как с заводом по производству машин
Инженеры делают свою работу
Менеджеры делают свою работу

Так достигается симбиоз полноценной работы: но в мире программирования почему то мнение у большенства что программист может и сплесать и спеть и покушать принесет
Константин Ильин
28 апреля 2023, 08:59
0
Оо здравствутйе! Я думал вы пропали совсем и даже сильно не надеялся на ответ)

Тенденция такая сейчас, что все компоненты переходят на чистый js. Меня тоже сподвигло перейти на чистый js, около полугода пишу. В начале было не очень) Ну и помимо тендеции это лишняя подключаемая библиотека, например у меня на сайте нигде нет jQuery и тут его придется подключить.
Версия что сейчас в репозитории меня многим не устраивает и выпилить джеквери и переделать запрос по плиточкам по факту ничего кардинально не изменит.
Расскажите что не так и какие планы в целом?

мне примерно через месяц понадобится msOptionsPrice2, и не хотелось бы попасть в ситуацию когда купил msOptionsPrice2 и на след день вышла msOptionsPrice3.

И в целом для магазина три основных компонента, miniShop2, mSearch2, msOptionsPrice2. Если miniShop2 развивается нет нет, то последние два «отстают», извините меня за душноту опять же оба подключают jQuery.