• Какой оптимальный вариант интеграции Vue.js и Nuxt с Битрикс?

    Spa и битрикс «из коробки» не дружили никогда и не дружат сейчас (и вряд ли что-то изменится).

    Vue компоненты далеко не все могут встать в битрикс в виде вёрстки, надо внимательнее смотреть на сайт.

    В целом, я надеюсь, вы уже осознали ваши архитектурные ошибки подхода «сначала делаем, потом думаем», поэтому дам советы по минимизации боли.
    - выберите то, в чем вы лучше разбираетесь и что готовы переписать.
    - лучший способ - это общаться с nuxt через апи. Но Апи должно иметь нормальную архитектуру версионирование, spa должно уметь ssr и не должно быть проблем с мета тегами. Управление контентом отлично остаётся в админке.
    - если со способом выше есть сложности, делайте статичную верстку. Там, где сможете верстку целиком упаковать во vue компонент - делайте. Но проверяйте все сценарии. Иначе - берите простой html и внедряйте.

    К сожалению, это путь боли.
    Ответ написан
    Комментировать
  • Просмотр писем в gmail "без меток"

    klyuchnik
    @klyuchnik
    Теперь в поиске Gmail можно использовать расширенный поиск.

    Поиск всех писем без меток, которые не находятся во входящих:
    has:nouserlabels AND -label:inbox
    Ответ написан
    Комментировать
  • Как реализовать умный поиск товаров по сайту с подсказаками?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    Компонент bitrix:search.title
    p.s. Как сделать живой поиск Bitrix?
    Ответ написан
    Комментировать
  • Как реализовать автоматическое кэширование в компонента Bitrix?

    smilingcheater
    @smilingcheater
    Для маркировки кеша компонента тегом зависимости от инфоблока - внутри кушируемой части (блока StartResultCache) вызовите:
    $taggedCache = \Bitrix\Main\Application::getInstance()->getTaggedCache();
    $taggedCache->registerTag('iblock_id_' . $iblockId);
    Ответ написан
    Комментировать
  • Vue + Bitrix + Nuxt возможно ли?

    vitvayti
    @vitvayti
    Битрикс-программист
    Возможно. Безумно рад что теперь front и back отдельно друг от друга и не надо заниматься такими вещами как интеграция вёрстки - разработал метод, добавил в документацию, дальше уже фронт пусть подключает его и выводит нужные данные.
    Ответ написан
    Комментировать
  • Vue + Bitrix + Nuxt возможно ли?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    Просто была задача сделать сайт, посмотрев на макет я понял, что было бы очень круто сделать его SPA, на что был получен ответ, Битрикс + хорошая SEO оптимизация.

    Т.е. SPA - это ваша личная инициатива?
    Добро пожаловать в клуб любителей стрелять себе в ногу из базуки.

    Битрикс + хорошая SEO оптимизация - вот это существует давно и отрабатывает железобетонно, не портьте бочку меда модно-стильно-молодежными идеями...
    Ответ написан
    1 комментарий
  • General error: 1215 Cannot add foreign key constraint Laravel 5.3?

    ironfrol
    @ironfrol
    С Laravel 5.8 поменялся метод автоинкремента (id). было
    $table->increments('id')
    А сейчас:
    $table->bigIncrements('id')
    Следовательно, делайте привязку на bigInteger
    $table->bigInteger('user_id')->unsigned();
    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
    Ответ написан
    6 комментариев
  • Почему не работает Sypex Geo?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Метод \Bitrix\Main\Service\GeoIp\Manager::getDataResult является оберткой над обработчиками геолокации, которые расположены тут Настройки > Настройки продукта >Геолокация

    На этой странице можно увидеть список обработчиков. Выше указанный метод выбирает обработчик в соответствии с сортировкой и пытается сделать запрос через его API. Если был получен результат, то возвращает его в виде объекта \Bitrix\Main\Service\GeoIp\Result, иначе идет запрос через следующий обработчик.

    Для Sypex Geo обработчиком является класс \Bitrix\Main\Service\GeoIp\SypexGeo, который расположен тут /bitrix/modules/main/lib/service/geoip/sypexgeo.php

    Попробовал напрямую сделать запрос через обработчик Sypex Geo, использовав IP из вашего примера:
    $ob = new \Bitrix\Main\Service\GeoIp\SypexGeo();
    $res = $ob->getDataResult("62.33.36.6");
    print_r($res);

    В ответ получил корректный набор данных
    Bitrix\Main\Service\GeoIp\Result Object
    (
        [geoData:protected] => Bitrix\Main\Service\GeoIp\Data Object
            (
                [ip] => 62.33.36.6
                [lang] => en
                [countryName] => Russia
                [regionName] => Tambovskaya Oblast'
                [subRegionName] => 
                [cityName] => Michurinsk
                [countryCode] => RU
                [regionCode] => RU-TAM
                [zipCode] => 
                [latitude] => 52.8978
                [longitude] => 40.4907
                [timezone] => Europe/Moscow
                [asn] => 
                [ispName] => 
                [organizationName] => 
                [handlerClass] => 
            )
    
        [isSuccess:protected] => 1
        [errors:protected] => Bitrix\Main\ErrorCollection Object
            (
                [values:protected] => Array
                    (
                    )
    
            )
    
        [data:protected] => Array
            (
            )
    
    )


    Возможно у вас достигнут лимит по запросам.
    Ответ написан
    6 комментариев
  • Из за чего не подключаются стандартные скрипты и стили в админке Битрикс?

    yuraSco
    @yuraSco Автор вопроса
    В конфиге apache надо было убрать:
    <LocationMatch "/\.(?!well-known)">
        Require             all denied
    </LocationMatch>
    Ответ написан
    3 комментария
  • Как сделать Корзину для товара в Laravel 5.3?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Для бэкэнда - https://github.com/Crinsane/LaravelShoppingcart
    С фронта реализуйте как хотите, можете хоть на ссылках / формах / jQuery с ajax.
    Ответ написан
    Комментировать
  • Как сделать Корзину для товара в Laravel 5.3?

    @GaserV
    Я на фронте делал с помощью LocalStorage. На ларе - просто таблица orders, в которую заносятся данные при успешном оформлении товаров из корзины.
    Ответ написан
    Комментировать
  • Польза от codewars?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    2 года назад CodeWars помог мне выучить JavaScript. Сухая теория не заходила вообще, а вот с практикой совсем другое дело... Решал задачки 8-7 kyu. На уровнях выше начинаются уже не основы языка, а больше упор на алгоритмы, знание математики и т.д. На 7 уровне не должно возникать проблем точно.
    Пишу код для решение на locahost в своем редакторе или IDE. Дебажу в консоли браузера. Когда вижу, что результат похож на правду, копирую код с редактора в окно для решения CodeWars. Проганяю предложенные тесты. Если все ОК, то сабмит, а если нет, то смотрю результаты тестов и допиливаю решение.
    Результаты не открываю пока сам не решу. В топовых и хитрых решения других всегда разбираюсь.
    Не стоит сильно зацикливаться на определенной задачи, которая не получается... Возможно не хватает знаний языка программирования. Бывает, что не могу понять условие задачи как таковое... Можно немного заморочиться, но если не идет, то смело откладываю на потом. Неудачи снижают боевой дух, а это ничем не помогает.
    Ответ написан
    1 комментарий
  • Ошибка при переносе сайта на Bitrix (Call to undefined function mysqli_init()), как избавиться?

    Adamos
    @Adamos
    PhpInfo, "отрабатывая хорошо", что показывает насчет наличия расширения mysqli?

    в файле /bitrix/php_interface/dbconn.php добавил константу define("BX_USE_MYSQLI", false), а в файле /bitrix/.settings.php изменил '\\Bitrix\\Main\\DB\\MysqlConnection' на '\\Bitrix\\Main\\DB\\MysqliConnection'.

    То есть выключил использование MySqli и стал его использовать. Логично...
    Ответ написан
    Комментировать
  • Как можно сделать оплату заказа по его ID в Bitrix?

    вывести обработчик оплаты на страницу можно таким образом
    $orderObj = Sale\Order::load($order['ORDER']['ID']);
    												$paymentCollection = $orderObj->getPaymentCollection();
    												$payment = $paymentCollection[0];
    												$service = Sale\PaySystem\Manager::getObjectById($payment->getPaymentSystemId());
    												$context = \Bitrix\Main\Application::getInstance()->getContext();
    												$service->initiatePay($payment, $context->getRequest());


    Можно вывести компонентом

    <?$APPLICATION->IncludeComponent(
        "bitrix:sale.order.payment",
        "",
        Array(
        )
    );?>


    Но судя по коду компонента он выполняет примерно тоже, что код выше

    Если хотите вывести с шаблоном сайта, то можно так сделать через буферизацию
    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
    $APPLICATION->SetTitle("Оплата заказа");
    ob_start();
    ?>
    <?$APPLICATION->IncludeComponent(
        "bitrix:sale.order.payment",
        "",
        Array(
        )
    );?>
    <?
    $formPay = ob_get_contents();
    ob_end_clean();
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php");
    $APPLICATION->SetTitle("Оплата заказа");
    ?>
    <div class="formPayment">
    <?
    echo $formPay;
    ?>
    </div>
    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
    Ответ написан
    9 комментариев
  • Как настроить почту в Битрикс?

    1. вариант и я тебе его крайне рекомендую.
    Делигируй почту на яндекс PDD, ( по сути штатный вараиант для битиркс вм)
    Битрикс вм по умолчанию использует не smtpd а msmtpd который по сути умеет только автаризовывать на чужом почтовом сервере.
    редактируем файлик
    /home/bitrix/.msmtprc( рестартовать демон не нужно)
    пишем туда вот это

    # smtp account configuration for default
    account default
    logfile /home/bitrix/msmtp_default.log
    host smtp.yandex.ru
    port 587
    from norepay@shop.wildorchid.ru
    keepbcc on
    auth on
    user norepay@shop.wildorchid.ru
    password ТУТ_ТВОЙ_ПАРОЛЬ
    tls on
    tls_certcheck off
    tls_starttls on

    Смотрим логи отправки в этой же папке
    Да и не забудь активировать акаунт на яндексе!
    Плюсы
    +у каждого проекта свой почтовый сервер без настроек
    + админка яндекса
    +антиспам яндекса
    +spf dkim dmarck работают валидно сертификаты подписаны. ( требуется отправить токен для активации DKIM
    - почта уходит со внешнего сервера

    Настройки можешь посмотреть у этого домена в записях.

    Теперь как сделать так чтоб почта отправлялась с лькального компа.
    yum install postfix ...

    Ну и чтоб сайт начал отправлят ьпочту через постфикс, коментишь строчку в виртуал хосте соответствующего сайта
    php_admin_value sendmail_path "msmtp -t -i -a Тут_имя_твтего_сайта"
    релоад апача и все.

    +почта своя
    - нет антиспама
    -ставить веб морду, если нужна то roundcube рекомендую.
    - настраивать все ящики и тд нужно самому или опять крутить веб морду.
    - нужно настраивтаь самому dkim , ставить opendkim Писал как это сделатьл тут

    https://klondike-studio.ru/blog/nastroyka-dkim-na-...
    Ответ написан
    2 комментария
  • Как въехать в программирование (ООП, паттерны)?

    alexfilus
    @alexfilus
    Senior backend developer
    Я проникся ООП когда писал одну программулину в процедурном стиле и внезапно понял что не могу разобрать свой собственный код, написанный вчера. Потратил на рефакторинг 12 часов и после этого код стал больше похож на английский язык, чем на непонятный набор букв, точек, цифр и скобочек. Так что в идеале нужна практическая задача на чистом языке, без фреймворков.
    Раз речь о PHP, попробуйте написать свою ORM. Простейший построитель запросов для CRUD, но универсальный. Как минимум наследование точно поймёте.
    По паттернам я сейчас толкового курса сходу не нашёл, но не переоценивайте их значимость. Лучше почитайте (посмотрите видео) о том, что такое SOLID.
    Когда придёт понимание что такое наследование и зачем оно нужно, тогда можно и про паттерны почитать, но как по мне, реально интересен только Одиночка. Все остальные это просто правильные способы применить наследование, и выглядят довольно очевидными.
    Ответ написан
    5 комментариев
  • Как в breadcrumb выводит разделы инфоблока?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    Проверьте для начала, передается ли параметр ADD_SECTIONS_CHAIN в компонент catalog.section.list, который подключается в файле section.php компонента catalog (если используется типовой шаблон catalog).
    Ответ написан
    4 комментария
  • Зачем нужен commit к БД?

    @deliro
    Агрессивное программирование
    Прочитай про транзакции в БД и уровни изолированности транзакций. Именно в таком порядке.
    Ответ написан
    2 комментария
  • Как загрузить цены в битрикс из 1С?

    @Happier Автор вопроса
    В общем выгрузка у меня шла на малый бизнес. А в малом бизнесе ограничения не только на цену, но и на склады.
    Для редакции Битрикс "Малый бизнес" на сайте необходимо передавать только общие остатки товара.
    И в 1с в модуле обмена нужно отключить выгрузку на сайт остатков по складам. В стандартном модуле я такого не нашел. Поставил модуль от битрикса, снял эту галку и цены загрузились.
    Ответ написан
    Комментировать