22.03.2026: Воскресение

Вчерашний день сумел продержаться и не работать, хотя и руки чесались, и дедлайны пинали. Но сдюжил как-то.

Сегодня, начиная с полудня, решаю проблему той  ненавистной задачи по разветвлённой форме заказа.

Вайбкодинг не сработал на легаси-коде сколько не пытался. Нейронка галлюцинировала, сбивалась, зацикливалась в своих заблуждениях и срала фантанировала глючным кодом. Очень жаль. Так что расчехлил мозг, сдул пыль и… Нет, не засел сразу работать. Сначала подготовка.

Позавтракать, посмотреть в окно на залитые солнцем улицы, обсудить электросвинг и послушать музыку, досмотреть серию «Ямада и пять ведьма», которую бросил вчера. Что ещё? Ах да! Зайти в E&P, забрать бонусы, пройти ежедневки.

В итоге счётчик кристаллов показал 500+, а потому, чисто по приколу, не ожидая ничего «кроме» корма, крутанул призыв.

Мне выдали ультрасовременного персонажа — Огнехвоста. Ну и ещё приятный прицепчик в нагрузку.

Если честно, я в шоке. При том, не немножко.

И вот теперь, с выпученными глазами и отвисшей челюстью, можно наконец приступать к «поеданию мерзкой лягушки» к созданию разветвленной формы.

Сколько не оттягивай, а сама она не сделается, я проверял.

Итак. Сделал заглушку и написал простую форму обратной связи. Пока без стилей, так что смотрится и «от», и «вра», и «тительно».

Навесил почтовое событие и почтовый шаблон. Письмо отправилось и дошло до тестового адресата.

Начало положено. Пока код выглядит стройно и логично, а значит достоин бэкапа.

Теперь лезу в класс и переделываю метод sendEmail.

protected function sendEmail($name, $phone, $email, $message)
{
    $arEventFields = [
        'NAME' => $name,
        'PHONE' => $phone,
        'EMAIL' => $email,
        'MESSAGE' => $message,
        'DATE' => date('d.m.Y H:i:s'),
        'IP' => $_SERVER['REMOTE_ADDR'],
    ];
    
    CEvent::Send('ORDER_PREPARE2_FORM', SITE_ID, $arEventFields);
}

Поскольку форма разветвлённая, я не могу знать какое количество данных и под какими псевдонимами туда упадёт. А значит мне нужно два массива.

  1. Массив со значениями по умолчанию, где в качестве ключа будут псевдонимы, а в качестве значений простые тире («-«).
  2. Массив со значениями из формы.

Когда массив со значениями попадает в форму, он должен подставлять в массив со значениями по умолчанию полученные данные, и уже этот результирующий массив отправлять почтой в Битрикс.

Получилось так.

protected function sendEmail($formData)
{
    // Массив с псевдонимами и значениями по умолчанию
    $arEventFields = [
        'NAME' => '-',
        'PHONE' => '-',
        'EMAIL' => '-',
        'MESSAGE' => '-',
        'DATE' => date('d.m.Y H:i:s'),
        'IP' => $_SERVER['REMOTE_ADDR'],
    ];
    
    // Заполняем значениями из формы
    foreach ($formData as $key => $value) {
        if (!empty($value)) {
            $arEventFields[$key] = $value;
        }
    }
    
    // Отправляем почтовое событие
    CEvent::Send('ORDER_PREPARE2_FORM', SITE_ID, $arEventFields);
}

Проверил. Работает. Вот с этим уже можно что-то делать. В $arEventFields буду вносить все появляющиеся константы, а в $formData передам только те что заполнил.

Но всё-равно что-то гложет. Что-то я упускаю…

Точно! Мне же гораздо проще формировать текст письма в каком-нибудь методе класса в зависимости от того, какие данные получены!

Решено! Переделываю!


Обожаю весенние прогулки

В мою локацию пришла настоящая весна. И пока она не ушла обратно, мы отправились ловить момент.

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

Нагулялись всласть. Даже немного устали, но оно того стоило.

 

Всё. Кросспостинг перестал тянуть в блог картинки моих постов из ТГ. Теперь только вручную. Только безумие. Молодцы, замедляторы. Есть чем гордиться. Продолжайте в том же духе.

Чем заняться после прогулки?

После прогулки самое время подкрепиться. Но сначала баночка местного безалкогольного, со вкусом грейпфрута.

Освежает и бодрит.

Вот теперь можно что-нибудь приготовить.

 

Силы для работы нашёл в себе лишь спустя ещё час.

Ну а спать ложился в первом часу ночи. Форма хоть и получилась годной для кастомизации, но сделать удалось только полтора шага. Зато данные по прежнему вполне нормально приходят на почту!

Времени ушла прорва. А сколько его ещё уйдёт… Не люблю такие задачи. Зато они любят меня. Иногда по нескольку часов к ряду, но бывает и месяцами, превращаясь в источник перманентного стресса. Как вот эта.

Всё! Хватит думать! Спать пора! И… я устремился.

Напишите комментарий

Введите имя

Введите адрес электронной почты

Введите адрес вашего сайта

Нажмите эту кнопку, чтобы отправить комментарий.

Введите текст комментария