• Как отловить событие изменения элемента инфоблока в Битриксе?

    @sergafon
    Пример записи из таблицы b_module_to_module для события, которое отработает при использовании ядра D7
    642aa01a7d812273846718.jpeg
    Ответ написан
    Комментировать
  • Как привязать црм-форму битрикс24 к существующей кнопке на сайте?

    @sergafon
    При создании формы нужно выбрать открытие формы по клику, далее битрикс сгенерит код, в вашем случае данный класс ".b24-web-form-popup-btn-6" отвечает за открытие нужной формы
    Ответ написан
    Комментировать
  • Какой тактикой вы руководствуетесь при верстке под битрикс? Что быстрее?

    @sergafon
    С битриксом работать можно, главное знать как. Работаю на нем уже не первый год как со стороны фронтенда, так и бекенда и делал на нем как простые лендинги так и интернет-магазины с калькуляторами и был даже новостной портал с парсингом новостей с разных источников. Конечно данная система не лишена недостатков как и любая другая CMS. С битриксом работают многие топовые компании на рынке России, и делают множество разных продуктов от простых до сложных. И причин в сторону выбора битрикса много, это и экономическая составляющая и множество готовых модулей позволяющих реализовать требования заказчика с меньшими затратами, чем на разработку с нуля на ларавел или питоне, но также выбор битрикса не всегда оправдан в случае простых сайтов.

    Сейчас перешел на верстку на бутстрап 4 с полной его касмтомизацией под нужный дизайн под нужные сетки и тд, если нужно подключаю доп. библиотеки скриптов в зависимости от проекта (на деле получился достаточно сильный прорыв по качеству и скорости кодинга). На выходе получается отдельный файл стилей бутстрап и под каждую страницу свой файл необходимых стилей так можно минимизировать количество стилей подключаемых на страницу (экономия выходит не сильно большая). Сборку проекта делаю на gulp, в каждом компоненте свои стили отдельно не делаю почти никогда. Если сборку делать на gulp то не сильно удобно все раскладывать по отдельным папкам, и честно говоря не знаю насколько это будет возможным (файл gulp наверное будет очень раздутым).

    Так же немаловажный момент выстроить правильную работу с прогерами, которые будут садить вашу верстку на движок. Так как когда пойдут правки по верстке и если ваш проект с минифицированными файлами ту и полезет куча проблем с потерей времени, либо правки будут вставляться в виде костылей в отдельные файлы (еще хуже если в те же самые сжатые, тогда ваша сборка верстки идет лесом) стилей, либо будут возвраты верстальщику он будет править js и css и html, а программисту придется частично переделывать уже проделанную работу, либо нужно будет думать над другими решениями (в 99% случаев бывают правки верстки). Можно использовать git для командной работы и умного мержа файлов например через phpstorm, там есть для этого нужный функционал, либо через командную строку мержить.

    В любом случае тех процесс в каждой компании свой и лучше всего сеть и продумать это вместе с командной и выбрать схему, которая будет удобнее для всех (а потом тестировать и дорабатывать и так до бесконечности)), а не только для одного специалиста. Если в команде есть человек с большим Я и сильно выраженным чувством важности), тут возникает вопрос есть ли смысл работать с таким человеком, и портить себе нервы подстраиваясь под его методики работы (возможно они далеки от истины).

    Я считаю в команде все должно строиться на доверии и взаимопонимании, тогда можно достичь очень больших успехов (простой пример басня "Лебедь, рак и щука").

    Рекомендую посмотреть в сторону gulp или webpack, если вы их еще не используете, это поможет облегчить работу по верстке очень сильно.
    Ответ написан
    Комментировать
  • Отличается ли верстка под Битрикс от просто верстки?

    @sergafon
    Ничем не отличается. Верстальщик делает верстку программист натягивает её на движок. Бывают частные случаи, но достаточно редко и решаются эти вопросы уже по месту.

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

    А про то, что разработчиков на битрикс мало, очень сомневаюсь, платформа очень популярная, и разработчиков пруд пруди, а вот толковых грамотных специалистов в десятки, а то и сотни раз меньше. Если интресно можем пообщаться на данную тему лично (скайп, соц. сети) мой вк.
    Ответ написан
    Комментировать
  • Как организовать поиск по заголовкам в битриксе?

    @sergafon
    Решается задача следующим образом
    в init.php всталвяем
    // Исключаем поиск по описаниям
    AddEventHandler("search", "BeforeIndex", array("SearchHandlers", "BeforeIndexHandler"));
    
    class SearchHandlers
    {
        function BeforeIndexHandler($arFields)
        {
            if($arFields["MODULE_ID"] == "iblock")
            {
                if(array_key_exists("BODY", $arFields) && substr($arFields["ITEM_ID"], 0, 1) != "S") // Только для элементов
                {
                    $arFields["BODY"] = "";
                }
    
                if (substr($arFields["ITEM_ID"], 0, 1) == "S") // Только для разделов
                {
                    $arFields['TITLE'] = "";
                    $arFields["BODY"] = "";
                    $arFields['TAGS'] = "";
                }
            }
    
            return $arFields;
        }
    }


    После чего необходимо запустить переиндексацию в настройках-поиск-переиндексация. Данное событие запускается при переиндексировании каждого элемента. Мы убрали из поискового индекса описание, поэтому поиск теперь не будет проводится по описанию в любом компоненте поиска. У разделов мы исключили заголовок, теги и описание, чтобы они вообще не участвовали в поиске.
    Ответ написан
    1 комментарий
  • Bitrix компонент, socserv.auth.split, как получать аватары пользователей при подключении соц сети?

    @sergafon
    Если вам нужна авторизация/регистрация через соц сети то вам нужен компонент socserv.auth.form. Далее в админке в настройках указываете сервисы, через которые должна идти рега или авторизация (один компонент на все). Там и фотка нормально берется и данные которые есть, но не все город почему то не берет. Надо разбираться.

    Еще маленькая хитрость для того чтобы компонент работал на странице регистрации его необходимо вызвать из system.auth.form.
    Ответ написан
    Комментировать
  • Как вывести часть данных из массива через AJAX?

    @sergafon Автор вопроса
    Решил проблему следующим образом.
    <?php
        $i = 0;
        foreach($rows as $row) { if ($i == 1) { ?>
            <div class="flexslider slider-album">
                <ul class="slides">
                    <?php foreach ($row['albums_image'] as $image_album) { ?>
                        <li>
                            <img src="<?php echo $image_album['sizes']['album-image']; ?>">
                        </li>
                    <?php } ?>
                </ul>
            </div>
    
        <?php } $i++; } ?>

    вместо единицы в условие буду передавать нужное мне число через AJAX, и выводить нужную итерацию цикла.
    Ответ написан
  • Как выполнить цикл foreach в php со второй или последующих итераций?

    @sergafon Автор вопроса
    Решил проблему следующим образом.
    <?php
        $i = 0;
        foreach($rows as $row) { if ($i == 1) { ?>
            <div class="flexslider slider-album">
                <ul class="slides">
                    <?php foreach ($row['albums_image'] as $image_album) { ?>
                        <li>
                            <img src="<?php echo $image_album['sizes']['album-image']; ?>">
                        </li>
                    <?php } ?>
                </ul>
            </div>
    
        <?php } $i++; } ?>

    вместо единицы в условие буду передавать нужное мне число через AJAX, и выводить нужную итерацию цикла.
    Спасибо всем откликнувшимся)
    Ответ написан
  • Как настроить 301 редирект с GET запросом в файле .htaccess?

    @sergafon
    Добрый день!
    web-optimizator.com/301-redirekt-htaccess
    вот тут почитай все подробно описано.
    Ответ написан
    Комментировать
  • Как получить всех родителей термина таксономии на странице, которого находишься?

    @sergafon Автор вопроса
    Нашел решение)
    <?php  $cur_term = get_queried_object('catalog'); ?>
            <!-- Хлебные крошки -->
            <?php $term_parents_id = get_ancestors($cur_term->term_id, 'catalog');
    
            foreach ($term_parents_id as $term_parent_id) {
                $info_parent = get_term_by( 'term_id', $term_parent_id, 'catalog' ); ?>
                <a href="<?php echo get_term_link($info_parent); ?>"><?php echo $info_parent->name; ?></a> »
            <?php }
            echo $cur_term->name;
            ?>
    Ответ написан
    Комментировать