• Можно ли приравнивать работу с Битрикс к работе с фреймворком?

    @McBernar
    Ну, как бы, отвечать лучше как есть — работал только с битриксом.

    Но с таким бекграундом вы мало кому нужны. Возьмите какой-нибудь Ларавел, сделайте пару пет-проектов и пишите его в резюме.
    Ответ написан
    Комментировать
  • Можно ли приравнивать работу с Битрикс к работе с фреймворком?

    DevMan
    @DevMan
    максимум - bitrix framework. и то при условии, если знаете что это такое.
    Ответ написан
    Комментировать
  • Как вывести все элементы раздела?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Если хотите вывести все элементы из указанного раздела и всех его подразделов то установите параметр "SHOW_ALL_WO_SECTION" => "Y"
    Если требуется вывести все элементы из инфоблока без учета разделов, то укажите:
    "SECTION_ID" => 0

    описание параметров компонента можно посмотреть тут
    Ответ написан
    Комментировать
  • Как оптимизировать битрикс, где найти ошибку?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Для начала нужно осознать, что проблема не на всех страницах. Например главная очень даже хорошо отображается.
    Что касается остальных:
    1) Для начала держим битрикс обновленным (иначе некоторые фишки могут не всегда корректно работать)
    2) В настройках главного модуля нужно обязательно отметить опции "Объединять CSS файлы" и "Объединять JS файлы". В идеале конечно все из блока "Оптимизация CSS", но на практике иногда после этого большие проблемы с кешированием в браузерах.
    3) Затем необходимо проверить форму входа - капча именно там выводится:
    spoiler
    <form action='http://borelli.beget.tech/bitrix/templates/eshop_bootstrap_blue/send_msg_form.php'  method='GET'>
       <input name='name' type='text' placeholder='Имя*' class='name_form' ></input>
       <input name='email' type='email' placeholder='E-mail*' class='email_form' ></input><br><br>
       <input name='topic' type='text' placeholder='Тема*' class='topic_form' ></input><br><br>
       <textarea name='msg' placeholder='Сообщение*'></textarea><br><br>
       <img src='http://borellifashiongroup.ru/bitrix/templates/eshop_bootstrap_blue/captcha.php' class='captcha' />
       <input type='text' name='norobot' placeholder='Введите текст с картинки*' class='captcha_code' ></input>
       <button>отправить</button>
      </form>


    4) Далее нужно разобраться с картинками - слишком тяжелые. На странице каталога видел по 3МБ. Вообще в легкую без потери качества можно сжать минимум в 2х раза (а то и больше). Всякие JPEG 2000/XP и WebP не предлагаю, так как битрикс не работает с ними, но банально снизить качество (хотя бы до 80%) и разрешение можно.
    5) Проведите рефакторинг в компонентах. В идеале inline javascript и css кода на странице быть не должно, а у Вас его куча.
    Ответ написан
    Комментировать
  • Как в битриксе автоматически добавить ко всем файлам символьный код?

    До конца не понял, что хотите сделать.
    вы поставили обработчик на событие добавления элемента, хотя это можно настроить в инфоблоке.
    второй обработчик у вас не сработает
    Если уже существующим товарам добавить символьный код, то
    вот примерный код. суть в том, что вам надо сделать выборку, перевести название, сохранить
    Здесь и разделы и элементы
    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
    CModule::IncludeModule('iblock');
    $IBLOCK_ID = 3;
    $fileElement = $_SERVER['DOCUMENT_ROOT'].'/scripts/elements.txt';
    $fileSection = $_SERVER['DOCUMENT_ROOT'].'/scripts/section.txt';
    
    $rsSections = CIBlockSection::GetList(
        array('SORT' => 'asc'),
        array('IBLOCK_ID' => $IBLOCK_ID),
        false,
        array('ID', 'NAME', 'CODE'),
        false
    );
    $currentSect = file_get_contents($fileSection);
    $currentSect .= "-----------------\r\n";
    while ($arSction = $rsSections->GetNext(false, false))
    {
        echo '<pre>';
        print_r($arSction);
        echo '</pre>';
        $arParamsSect = array("replace_space"=>"-","replace_other"=>"-");
        $transSect = Cutil::translit($arSction['NAME'],"ru",$arParamsSect);
        echo '<pre>';
        print_r($transSect);
        echo '</pre>';
        $currentSect .= $arSction['CODE'].' - '.$transSect."\r\n";
        file_put_contents($fileSection, $currentSect);
        $bs = new CIBlockSection;
        $arFields = Array(
            'CODE' => $transSect
        );
        $res = $bs->Update($arSction['ID'], $arFields);
    }
    
    
    
    
        $elDB = CIBlockElement::GetList(
            array('SORT' => 'asc'),
            array('IBLOCK_ID'=> $IBLOCK_ID),
            false,
            false,
            array('ID', 'NAME', 'CODE')
        );
        $currentEl = file_get_contents($fileElement);
        $currentEl .= "-----------------\r\n";
    
        while($arEl = $elDB->GetNext(false, false))
        {
            echo '<pre>';
            print_r($arEl);
            echo '</pre>';
            $arParams = array("replace_space"=>"-","replace_other"=>"-");
            $trans = Cutil::translit($arEl['NAME'],"ru",$arParams);
            echo '<pre>';
            print_r($trans);
            echo '</pre>';
    
            print_r($currentEl);
            $currentEl .= $arEl['CODE'].' - '.$trans."\r\n";
            file_put_contents($fileElement, $currentEl);
            $el = new CIBlockElement;
            $arLoadProductArray = Array(
                'CODE' =>$trans
            );
            $res = $el->Update($arEl['ID'], $arLoadProductArray);
        }
    Ответ написан
    1 комментарий
  • Kак показывать все элемента ассоциативного массива (foreach) начиная не сначала а с 4го?

    $arr = range(1, 10);
    $arrSliced = array_slice($arr, 3);
    
    foreach ($arrSliced as $val) {
      echo $val;
    }
    Ответ написан
    Комментировать
  • Kак показывать все элемента ассоциативного массива (foreach) начиная не сначала а с 4го?

    @bkosun
    Конструкция break обрывает цикл, используйте continue, чтобы пропустить оставшуюся часть кода в текущей итерации.

    Так же, в данном случае, лучше использовать for:

    for ($i = 0; $i < count($arr); $i++) {
                if ($i < 4) continue;
                echo $arr[$i];
            }


    php.net/manual/ru/control-structures.break.php
    php.net/manual/ru/control-structures.continue.php
    Ответ написан
    Комментировать
  • Как выполнить скрипт с задержкой?

    @chirskiy_mixail
    Очень давно занимаюсь версткой, имею огромный опыт
    В вашем примере, они одновременно покажутся, чтобы это произошло с задержкой можно сделать так
    setTimeout(function () {
        // Анимация для 1, когда она закончится, начнется для 2
        setTimeout(function () {
        // // Анимация для 2, когда она закончится, начнется для 3, и т д 
        }, 1000);
    }, 1000);

    думаю суть ясна, ну это хорошо, когда элементов 2-4, если же их будет больше, лучше циклом бежать по всем и уже делать по порядку, а то код превратится в помойку
    Ответ написан
    1 комментарий
  • Как выполнить скрипт с задержкой?

    .delay(1000) Если jquery
    setTimeout, если JS
    Ответ написан
    Комментировать
  • Как выполнить скрипт с задержкой?

    Alexanderverd
    @Alexanderverd Автор вопроса
    Человек разных интересов
    Решение для первого скрипта:
    $( document ).ready(function() {
    setTimeout(function() {
    $('.device-arrow14').addClass("slideUp");
    }, 1000);
    });

    Решение для второго:
    $(window).scroll(function() {	
    setTimeout(function() {
    	$('#example-13').each(function(){
    var imagePos = $(this).offset().top;
    var topOfWindow = $(window).scrollTop();
    if (imagePos < topOfWindow+600) {
    $('.device-arrow13').addClass("slideLeft");
    }
    });	
    }, 1000);
    });
    Ответ написан
    1 комментарий