Ответы пользователя по тегу 1С-Битрикс
  • Как сделать интерактивный онлайн-консультант на сайте - гуляющая девушка?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    С чисто технической точки зрения, то решается это простой привязкой статьи (текста) или видео к конкретному товару (элементу инфоблока в рамках Битрикс).
    При посещении страницы или затупе пользователя, возникает девушка и предлагает прочитать статью или видео глянуть, или провести консультацию (при проведении консультации открывается какой-нибудь jivosite, своего консультанта пилить думаю смысла нет).
    С визуальной точки зрения, то это уже к дизайнерам вопрос)
    Ответ написан
    Комментировать
  • Каким способом изучать API Битрикса?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Берите типовую задачу и делайте.
    Не типовое решение (хотя тоже как вариант), а с нуля начинайте разбираться в задаче.
    Если вы будете на основе чего-то разбираться (типового решения), то знания у вас будут только на основе данного решения.
    Если вы с нуля будете разбираться, то думать придется и разберетесь вы в задаче (интернет-магазин), а не в инструменте (типовое решение).

    Например создавайте интернет-магазин, и по ходу уже разбирайтесь и задавайте возникшее вопросы.
    А задавать вопросы вида "как изучить?" не совсем корректно, т.к. не понятно что вообще вам нужно.
    А когда будут возникать конкретные задачи, то и будут конкретные вопросы и следовательно конкретные ответы.
    Ответ написан
    2 комментария
  • Почему в CMS Bitrix меняется html разметка блока в зависимости от того авторизирован пользователь или нет?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Скорее всего дело в кеше.
    Очистите кеш (обычный и композитный).
    Ответ написан
    3 комментария
  • Как лучше реализовать компонент Bitrix?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    У вас должен быть сервис (страница, компонент, не важно), который будет загружать данные с удаленного сервера и сохранять их в инфоблок. Выводом заниматься уже будет стандартный компонент.
    Если данные нужно подгружать по мере надобности, то можно обойтись AJAX (иди CURL если их кода) запросом к сервису перед отображением (или вызовом компонента, который будет делать собственно загрузку данных), иначе CRON.

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

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Подгружать вложенные по AJAX?
    По запросу или уже после загрузки страницы.
    Ответ написан
  • Как сделать передачу и выбор параметра?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Если вы используете стандартные компоненты (а это скорее всего), то вам нужно просто добавить свойство "размер" в инфоблоке каталога и тогда они у вас должны появится.
    https://dev.1c-bitrix.ru/learning/course/index.php...
    Ответ написан
    Комментировать
  • Почему не сохраняются изменения в битрикс?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Как выводите текст? (компонент, быдлокод)
    Кеш попробуйте вообще отключить.
    Ответ написан
    Комментировать
  • Как создать компонент с кастомными настройками?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Ответ написан
    Комментировать
  • Какой принцип создания живого поиска по элементам инфоблока для Битрикс?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    1. Создайте файл типа "/api/[что-то].list.php"
    2. В нем опиши логику работы (CIBlockElement и вот это вот все).
    3. В форме делайте запрос к данному файлу

    Собственно этого будет достаточно.

    Делать какой-то общий сервис, типа "iblock.list" не советую, так как передавать параметры запроса типа "IBLOCK_ID", "ID", ... в открытом виде вообще не круто. Можно конечно предварительно шифровать данные (например, AES), вот только нужен ли вам этот геморрой?

    По поводу производительности: делайте поиск по подстроке (обычный LIKE). Если будет слишком долго, то можете создать полнотекстовый индекс по полю ( www.mysql.ru/docs/man/Fulltext_Search.html ) или сделайте обычный индекс и проводите поиск по начальной строке, т.е. LIKE "строка запроса%".
    Ответ написан
    Комментировать
  • Почему слайдер долго грузится в Битриксе?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    В консоли браузера посмотрите вкладку Network (для хрома), по нему можно понять в чем дело: долго грузятся скрипты или сами скрипты выполняются только в конце страницы, следовательно что-то другое тормозит страницу.
    Ответ написан
    Комментировать
  • Как отменить вывод html в битрикс?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    А разве "prolog_after" как раз таки и не занимается выводом?
    Может быть вы имели ввиду:
    require("/bitrix/modules/main/include/prolog_before.php");
    
    // code ...
    
    require("/bitrix/modules/main/include/epilog_after.php");
    Ответ написан
  • Как вывести описание фотографий в Битрикс?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Дак надо к элементу обращаться:

    <?php foreach ($arResult['PHOTO'] as $PhotoItem):
        $src = $PhotoItem['SRC'];
        $desc = $PhotoItem['DESCRIPTION'];
    ?>
    <img  alt="<?= $desc ?>" title="<?= $desc ?>" src="<?= $src ?>" width="700">
    <?php endforeach; ?>


    И немного ревью:
    1. нет необходимости элемент делать ссылочным &$PhotoItem
    2. используйте конструкция "foreach: endforeach;" если выводите таким образом (читается лучше)
    Ответ написан
  • Как записать свою функцию в вызов компонента?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Если не учитывать, что несколько странное название компонента (без вендора), и незнание внутренностей компонента, то советов несколько:

    1. Создать класс "Form" (именно класс, а не компонент), который будет отвечать за обработку формы (содержать список полей, отвечать за валидацию, инциализацию и т.д.)
    2. Передавайте callback в параметры (массивом, строкой, объектом - этот вариант лучше), и собственно внутри компоненты вызывать функцию.
    3. Реализовать проверку внутри компонента (но тогда вы не сможете динамически менять условия проверки)

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

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Если физически сайт будет один и тот же (разница только в списке товаров и др. характеристиках), то вам нужно настроить сервак (dns записи), чтобы все поддомены, автоматически шли на основной сайт, а на сайте в зависимости от поддомена, меняли поведение.

    Битриксовая многосайтовость - не для этих задач.
    Ответ написан
    Комментировать
  • Как реализовать автоматический экспорт данных инфоблока битрикса?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Самому распарсить файл?
    Подробнее: php.net/manual/ru/function.fgetcsv.php

    Либо зайти в код импорта и посмотреть какие функции используются (а лучше сделать один раз вручную импорт и куда-нибудь задампить настройки которые отправляются в функцию импорта).
    Ответ написан
    Комментировать
  • Как вывести товары с определенным значением DETAIL_PROPERTY_CODE?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Если старым ядром:

    $result = CIBlockElement::GetList([], ["PROPERTY_TOVAR_DAY" => "Y"]);


    https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
    Ответ написан
    Комментировать
  • Как правильно организовать каталог товаров в Bitrix?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Один инфоблок, разделы и один компонент.

    По поводу кучи свойств: собственно в комментах вам уже ответили что можно настроить вывод и в фильтре и в карточке товара, а также в админке ( https://dev.1c-bitrix.ru/learning/course/?COURSE_I... ).

    Есть более экстремальный вариант, если отойти от стандартной админки и сделать свои страницы добавления/удаления, то можно сделать так:
    все свойства засунуть в одно JSON свойство и тогда проблем вообще не будет. Накидаете страницу для добавления/редактирования (не сложно это делается). Для фильтрации нужно будет поднять дополнительные READ-only таблицы (на каждую категорию), либо в RAM поднять кеш-базу (Redis например), в которой будут храниться значения свойств и идентификаторы записей. Вот такая безумная идея...
    Ответ написан
    Комментировать
  • Написать личный кабинет на битрикс?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Заявки - инфоблок
    Счет - инфоблок

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

    Стандартные компоненты инфоблоков потянут. Не потянут - свои накидать не проблема.
    Ответ написан
  • Как в 1С-Битрикс скрыть бренд (раздел товара)?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Откуда скрыть: из выгрузки, при выдаче?
    Где скрыть: в админке, в публичке?

    Ну и скорее всего для вас ответ: кастомизировать шаблон!
    Ответ написан
    Комментировать
  • Битрикс почему не работает 404.php?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Проблема в .htaccess.
    Добавьте в вопрос какой у вас.
    Стандартный выглядит так:
    Options -Indexes 
    ErrorDocument 404 /404.php
    
    <IfModule mod_php5.c>
      php_flag session.use_trans_sid off
      #php_value display_errors 1
      #php_value mbstring.internal_encoding UTF-8
    </IfModule>
    
    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-l
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
      RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
      RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    </IfModule>
    
    <IfModule mod_dir.c>
      DirectoryIndex index.php index.html
    </IfModule>
    
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 3 day"
      ExpiresByType image/gif "access plus 3 day"
      ExpiresByType image/png "access plus 3 day"
      ExpiresByType text/css "access plus 3 day"
      ExpiresByType application/javascript "access plus 3 day"  
    </IfModule>
    Ответ написан
    Комментировать