Задать вопрос
  • Как подключить платежные системы к сайту на Битрикс Старт?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Вы сами на всё уже ответили.

    в этой редакции нету в разделе Магазин пункта Платежные системы


    Да, раздел магазина отсутствует. Следовательно, функционал связанный с оплатой и обработкой заказа - отсутствует. И исходя из этого, следует то, что всё нужно будет писать вручную: хранение и обработка заказов, подключение платёжных систем (используя апи) и прочее ..

    И как админ сможет просматривать оплаченные заказы? С помощью инфоблоков?


    Зависит от программиста, т.е. от того, каким образом он будет хранить и обрабатывать данные.
    Это могут быть и инфоблоки, и хайлоад-блоки (предпочтительнее).
    Ответ написан
    Комментировать
  • Как подставить значения из таблицы в форму для отправки на сервер?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer

    156847Q112600СВОБОДНО
    где 156847 это ID, Q11 свойство, 2600 значение

    если нет возможности задать свой формат строки-значения
    тогда остаётся только распарсить строку-значения и получить необходимые данные

    всё что до Q - это $ELEMENT_ID
    если в Q11 - количество символов после Q всегда = 2, тогда отсчитываем 2 символа от Q - это будет $PROPERTY_CODE.
    или если количество символов не равно 2 (т.е. Q11 может изменяться), тогда изначально надо получить все коды свойств и выполнить проверку кода в строке, если найдено, тогда записываем в $PROPERTY_CODE
    оставшаяся строка = $PROPERTY_VALUE
    получив все данные - отсылаете запрос апи, где вас встречает функция
    CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, array($PROPERTY_CODE => $PROPERTY_VALUE));
    Ответ написан
    Комментировать
  • Как правильно обрабатывать нажатие inline-keyboard telegram bot api?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    1. Нужен ssl-сертификат (можно использовать Let's Encrypt)
    2. Нужно настроить webhook, например, на адрес https://site.com/api/telegram/webhook/
    3. Теперь, при нажатии на кнопку, телеграм будет отсылать запрос с данными на https://site.com/api/telegram/webhook/
    4. Пишете обработку для входящих данных на стороне сервера
    Ответ написан
    Комментировать
  • Как работать с push уведомлениями laravel?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    использовать библиотеки необязательно
    отправка осуществляется обычным post-ом

    // Server URL Google Firebase Cloud Messages
                    $SERVER_URL = '';
    
                    // Server key FCM/GCM
                    $API_ACCESS_KEY = '';
                    
                    // Массив токенов
                    $arTokens = [];
    
    
                    // Отправляем
                    
                    $headers = [
                        'Authorization: key=' . $API_ACCESS_KEY,
                        'Content-Type: application/json'
                    ];                
                    
                    $ch = curl_init();
    
                    curl_setopt( $ch,CURLOPT_URL, $SERVER_URL);
                    curl_setopt( $ch,CURLOPT_POST, true );
                    curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
                    curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
                    curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
    
                    $fields = [
                        'registration_ids' => $arTokens,
                        'data' => [
                            'message' => $message
                        ]
                    ];
    
                    curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
    
                    $result = curl_exec($ch);
    
                    curl_close( $ch );
    Ответ написан
    Комментировать
  • Почему я получаю 400 Bad Request?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Правильно ли я понимаю, что это post-параметры? Если так, то я их передаю в запрос


    1. на основании чего Вы это поняли?

    $html = request('www.site.ru', $post);

    2. что делает функция request ?

    3. 400 Bad Request
    Ответ написан
    Комментировать
  • Странный баг в phpStrom?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    только в ТП IDE (это больше, чем редактор) - они точно скажут, что да как
    Ответ написан
    Комментировать
  • Как плавно загружать содержимое?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    1. прелоадер
    2. подгрузка контента
    3. вывод контента
    4. отключение прелоадера

    показывать и скрывать прелоадер плавно (как угодно)

    в любом случае, миллисекунды, секунды, будет занимать подгрузка контента
    чтобы не было дёрганий и было человеко-понятно - оптимальный вариант - прелоадер
    Ответ написан
    Комментировать
  • По какому принципу создавать контроллеры в MVC?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Модель отвечает за взаимодействие с БД
    Контроллер является "прокладкой" между моделью и вью
    --------------
    Если у Вас "богатая" архитектура, тогда лучше разделить админу и публичную часть сайта/приложения.
    Т.к. у админки будет свой бекенд+фронтенд, а у публичной части свой бекенд+фронтенд.
    Ответ написан
    Комментировать
  • Как эффективно развивать себя как разработчика?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    хочется не просто пилить рутинные таски, и если уже повезет с таском то улучшать скилл, а хочется максимально эффективно развивать себя как разработчика, чтобы стать не только полноценным девом, а и хорошим специалистом


    дополню ответ aRegius

    полноценный, хороший - это всё Относительно .. в программировании/разработке эти термины очень спорны .. есть крутые спецы, решают сложные задачи, которые пишут код не по PSR (пример из PHP), но есть спецы, которые пишут хороший код, но, на этом всё и заканчивается, ибо решать задачи особо не могут ..

    Вы использовали слово "рутинные", значит у Вас уже есть понимание того, что такое "рутина"/"стагнация".

    Стагнация - это хорошее понятие для разработчика.

    Стагнация - это как раз таки выполнении рутинных задач и отсутствие развития в будущем.

    Если разработчик это понимает, то нужно, просто искать новое место работы, новые задачи, которыми он еще не занимался, т.е. чтобы развиваться дальше ..

    Расскажу на примере себя )

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

    Таким образом, я занимался тем, что интересно мне, развивался, как специалист, как разработчик, боролся со стагнацией.

    В общем, главное для меня и моего развития - отсутствие стагнации, и очень важный момент, уметь чувствовать эту самую стагнацию.

    Чтобы чувствовать стагнацию, нужно постоянно обдумывать то, чем ты занимаешься, и на каком уровне ты это делаешь.
    Если ты понимаешь, что на текущий момент, ты всё делаешь круто, тогда нужно искать что-то новое, бросать себе новый вызов, и только тогда будет рост.

    Итог: нужно заниматься своей реальной оценкой и не бояться что-то менять.
    Ответ написан
    Комментировать
  • Как запоминать код, который писал две недели назад?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Конкретно по коду, лично мне - помогает git
    По коммитам и ревестам вполне можно освежить память по проделанной работе, ну и конечно же просмотреть работу других программистов

    По поводу майнд мапов - их лучше рисовать изначально, до написания кода, т.е. на этапе проектирования приложения, т.е. описывать, что и как будет взаимодействовать - это собственно и будет Разработка
    В пример - обычный дизайн - сначала рисуется прототип - а уже потом сам дизайн
    По теме - сначала рисуем схему работы приложения, потом пишем код

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


    Это говорит лишь об отсутствии опыта и наличии мышления обычного программиста, а не разработчика/архитектора приложения. Т.е. в голове лежит лишь конкретная задача, а не работа приложения в целом.

    Как это исправлять - больше участвовать именно в разработке архитектуры приложения - чаще посещать совещания по будущей работе приложения, составлять майнд мепы, рисовать схему на листке, на доске, думать не над тем, как написать класс и методы, а над тем, как будет работать приложение в целом, т.е. главное - чтобы была видна общая картина работы приложения .. Пару раз нарисуете, продумаете архитектуру приложения, потом мозг уже начнёт сам думать в этом направлении, без необходимости что-либо визуализировать .. Ну и как следствие, архитектура приложения всегда будет в голове.
    Ответ написан
    Комментировать
  • Как правильно работать с API push notification IOS?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Попробуйте так - https://github.com/ArtamonovDenis/Artamonov.push
    Ответ написан
    Комментировать
  • Где грамотно хранить функции, которые должны быть доступны в любом контроллере?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Вынесите этот самый логгер в отдельный класс со своими методами (функциями)
    Ответ написан
    Комментировать
  • Какой PHP фреймворк выбрать?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Phalcon
    И быстрый, за счет единоразовой компиляции в C (при запуске сервера).
    И простой.
    И в документации есть хороший пример по работе с ним.
    -------------
    Не нахваливаю и не навязываю. Так, для варианта.
    -------------
    А вообще, какой-бы фреймворк Вы не взяли, без *овнокода не получится .. Да и опять же, *овнокод-*овнокоду - рознь.
    Даже Ваш текущий, якобы, не*овнокод - через 0,5 - 1 год покажется Вам *овнокодом.
    Ответ написан
    2 комментария
  • Можно ли узнать по каким товарам пришли изменения из 1с на сайт?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Плюс, к предыдущем ответу:
    1. Например, поставить в 1С галочку - Хранить файлы выгрузки на сервере
    2. Например, повесить свою функцию-обработчик на событие "После обмена с 1С" и логировать, как удобно
    3. Например, можно посмотреть на стороне 1С, еще до выгрузки на сайт, какие объекты зарегистрированы в журнале регистрации
    Ответ написан
    1 комментарий
  • Возможно ли из радиокнопки сделать ссылку? Или в ссылке передать гет запрос?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Или в ссылке передать гет запрос?

    <a href="/test/?parameter1=value1&parameter2=value2">LINK GET</a>
    Ответ написан
    Комментировать
  • Как написать функцию для сайта на Битрикс?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    use Bitrix\Main\Loader;
    
    $ELEMENT_ID = 115;
    
    $arProperties = [
        'CODE_1' => 'VALUE_1',
        'CODE_3' => 'VALUE_2',
        'CODE_3' => 'VALUE_3'
    ];
    
    updateProperties($ELEMENT_ID, $arProperties); // Запуск функции
    
    function updateProperties($ELEMENT_ID, $arProperties)
    {
        Loader::includeModule('iblock');
        CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, $arProperties);
    }
    Ответ написан
  • Как не вызывать событие OnOrderUpdate при удалении заказа?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    В функцию-обработчик события OnOrderUpdate вернуть false
    return false;
    Ответ написан
  • Динамическая подгрузка (jQuery, ajax): как работает вставка в HTML-документ?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    Вероятнее всего, ajax-запрос пишется в историю навигации бразуера и поэтому запоминается результат последнего запроса
    Примерное описание
    Ответ написан
  • Как сделать вывод шаблона не через условия, а в отдельном файле?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    1. создаете php файл
    2. выносите в него необходимый код
    3. подключаете файл в озвученный файл с помощью include '/__путь к файлу__';
    Ответ написан
    Комментировать