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

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Дать ему доступ ко всему, кроме доступа к удалению пользователей.
    ---
    Отслеживать событие удаления и перед удалением проверять, кого там собрались удалять. Тоже с редактированием (хотя, имея доступ ко всему, отредактировать отслеживание не сложно).
    Ответ написан
  • Как настроить автоподстановку значений свойств номенклатуры после обмена с 1с и БУС?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Железобетонно выгружаются только строки и числа.

    Из своего опыта (я обслуживаю обмен со стороны сайта), если речь про список и его значения, ID значений должны быть прописаны в 1С для корректной выгрузки (по аналогии со связкой товаров и разделов по XML_ID).

    Если есть возможность, подготовьте всё на стороне сайта, поднимите резервную 1С и сделайте выгрузку из сайта туда. И посмотрите, как они выгрузились.

    Для связки каких-то хитрых свойств, храните в 1С строки и числа, выгружайте а на сайт в техническое (промежуточное) свойство, а по событию связывайте его и «чистовое».
    Ответ написан
  • Не отображается постраничная навигация. Как ее включить?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    При подключении навигации отрабатывает компонент bitrix:system.pagenavigation.
    1. У вас в одном месте PAGER_TEMPLATE пустой == должен подключаться шаблон .default. Скопируйте (кастомизируйте) .default шаблон компонента в своё пространство имён и посмотрите, вызывается ли он вообще и что ему передаётся. Так и оставьте его .default — система просто перенаправит из встроенного компонента на ваш.
    2. Во втором месте у вас PAGER_TEMPLATE => modern. Те же действия, только вместо .defaultmodern.
    Ответ написан
    Комментировать
  • Какую редакцию Битрикс использовать?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Это можно реализовать и на «Старте». У меня магазин с полноценной корзиной, оплатой, СМС-шлюзом, обработкой получения платежа...
    https://www.tiko-chako.ua/ru/
    Вообще, можно и на «Первом Сайте», но там ограничение по количеству инфоблоков и пользователям

    Coraelstraze: Алексей, но подразумевается, чем ниже редакция, тем должен быть выше уровень программирования?


    Нет. Требуемый уровень знаний программиста от разницы в редакции не зависит. API одинаков для всего фреймворка, хто это «Первый сайт», хоть «Корпоративный портал».
    Разница в редакции — это просто разный набор уже готовых решений. Предполагается, что имея набор готовых модулей, сайт должен собираться как конструктор: кирпичик+кирпичик+...= результат и радость.

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

    Вот таблица сравнений — можно прикинуть, что не нужно под задачу, но за что придётся заплатить:
    https://www.1c-bitrix.ru/products/cms/editions/#ta...

    Итак, давайте рассмотрим этап программирования, исходя из жизненных реалий.

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

    Предположим теперь, что покупаемый набор содержит то, что нужно (если чуть расширить функционал) и то, что не нужно (переплачиваете).
    Программисту нужно на основе API модулей, требующих доработок (либо кастомизацией компонентов/шаблонов), допилить функционал, натянуть дизайн.
    Имеет место несколько переплат: за ненужный функционал в наборе и за доработку неполного комплекта инструментов. Плюс не исключено, что исполняемый модуль будет в нагрузку к нужному генерить и не нужные телодвижения.
    Также, программист вынужден действовать в рамках предоставляемого набора модулей (мы ведь купили — давайте допиливать его), пока доработка не потребует кардинального решения под задачу.

    Тогда программист либо пишет своё решение на основе API, либо ищут решение на маркетплейсе:
    https://marketplace.1c-bitrix.ru/

    Решения на маркетплейсе — это крипичики от разных разработчиков.
    С теми же преимуществами (готовое решение) и недостатками: допилить под задачу, интегрировать в дизайн (что может оказаться даже тяжелее первого пункта).

    Даже если покупать на Маркетплейсе готовые решения (например, полностью собранный интернет-магазин), если сайт живёт и развивается, поддержка проекта потянет на ощутимый бюджет, который через пол-года–год уже может перекрыть затраты на первичную разработку. К тому же, при активном маркетинговом отделе, требуются постоянные доработки, чего разработчик решения делать не будет (не тематическая задача, слишком узкое решение). Готовое решение распиливается на составляющие, дорабатывается в нужном месте, но теряется возможность его обновления, если выпущен фикс или расширение, что для популярных решений происходит постоянно. Как вариант — ведётся лог локальных фиксов, накатываются обновления и поверх перенакатываются фиксы (ну вы уже поняли, что я прям по-живому пишу =) )

    Через год владелец молодого и динамически развивающегося проекта смотрит на текущую ситуацию, оглядывается назад и понимает, что:

    Третий вариант: Битрикс покупается как основа, фреймворк под проект.

    Главные фишки Битрикса:
    • удобство управления (для менеджеров, секретарей, контентщиков, владельца) — ни одна CMS ещё не переплюнула Битрикс по крутости публичной части и удобству админки. Если я чего-то не знаю, буду благодарен, если кто-то в комментариях даст мне пример. Обращу отдельное внимание на тот факт, что я говорю об удобстве со стороны клиента, а его лояльность стоит дорого.
    • инфоблоки — прослойка для управления данными базы данных теми, кто ничего в них не смыслит. Новое ядро слегка размывает кайф, но пока ещё эта фишка сильна. Практически всё построено на принципе, когда-то родившем инфоблоки.

    Итак, Битрикс покупается как фреймворк и конкретно под задачу на основе API пишутся решения и покупаются/настраиваются модули. Плюс в том, что цена редакции «Старт» относительно дорогих редакций сравнительно невысока, а решения, которые выходят из-под «пера» программиста, заточены уже конкретно под дизайн и конкретно под задачу.

    В общем, как-то так.
    Ответ написан
    4 комментария
  • Как на один товар сделать разные цены в зависимости от свойства - вес?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Это называется торговые предложения.
    То есть вы создаёте товар и к нему торговые предложения, каждое со своей отдельной ценой.
    Именно торговое предложение в качестве товара клиент и покупает.

    Это как, например, есть ортопедические стельки и линейка размеров. Клиент при покупке покупает именно торговое предложение конкретной стельки определённого размера.

    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    Ответ написан
    4 комментария
  • Как на Битриксе в каталоге товаров передать значение цены в другую цену?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Написать скрипт, который переберёт все товары и пропишет их в свойства.
    Поставить отслеживание события на изменение цены и поддерживать значение свойства в актуальном состоянии.
    Ответ написан
    Комментировать
  • Как, загружая из медиабиблиотеки фото в множественное свойство, вытащить имя файла?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Насколько я понимаю, вы получаете идентификатор.

    Взгляните на эти библиотеки:
    https://dev.1c-bitrix.ru/api_help/main/reference/cfile/

    CMediaLib (в документации нет), пример: https://dev.1c-bitrix.ru/community/webdev/user/178...
    Ответ написан
    1 комментарий
  • Как изменить кнопки вызова форм в Битрикс, которые не получается изменить в визуальном редакторе?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Нужно отредактировать текст в лингвистическом файле.
    Там же, где лежит файл шаблона (как правило template.php либо component_epilog.php) должна быть папка lang/
    Внутри, по папкам, языковые разделы: ru/, ua/, en/, tr/, ...
    В нужной папочке ищите файл с таким же названием, как и файл шаблона.
    Внутри — лингвистический массив вида:
    $MESS[ 'CALL_DESIGNER_UP' ]= "..."
    Там и меняете текст.

    [!] Шаблон может быть закеширован и вы не увидите текст. Сбросьте кеш шаблона либо откройте страницу с ключом clear_cache=Y
    Ответ написан
    3 комментария
  • Для удаления товара на сайте(битрикс) хватит "пометки на удаление" в 1с?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    На стороне сайта проверяли эти настройки?

    5d82cdf34334451fb08849ac25b8cb26.jpg
    Ответ написан
  • Отслеживание входа в админку Битрикс через PHP?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Гляньте на события:
    dev.1c-bitrix.ru/api_help/main/events/#user
    тогда можно отслеживать в любом месте, а именно в админку или нет — проверять по текущему урлу.

    Как альтернативный финт, при просмотре директорий всегда подключается файл .access.php из родной папки, родительской и так до корня.
    /bitrix/admin/.access.php всю дорогу пустой, но он "торкается" перед авторизацией. Можно в него разместить проверочный код. Я, например, у себя так админку блокирую: проверяю — если адрес открывает неавторизованный, выбиваю его на 404. А авторизация сделана в скрытой папочке. Это на сайте, где профилей пользователей нет, только я, админ.
    Ответ написан
  • Есть ли способ делать выгрузку изменений на сайт битрикс?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Насколько я понял, 1С "перетирает" изменения.
    Переделать — как основной вариант.
    Как альтернатива — поднять параллельно другой каталог. Первый синхронизируется из 1С, второй — внутри сайта с первым. И второй предназначен для публикации в публичной части. Связь с 1С по XML_ID товаров (ведь заказы ссылаться будут на товары уже из второго каталога), либо перехватывать во время оформления заказа и в заказ формировать товары из первого каталога...

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

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    В Битриксе (пойдёт через апач и /urlrewrite.php):
    Административный раздел / Настройка / Настройки продукта / Обработка адресов / Правила обработки:

    3e97858192ef48f58df613b355e440a1.png

    Пример конфига ЧПУ через nginx:
    location ~* ^/catalog/([_a-zA-Z0-9-]*)/ {
    		proxy_pass http://127.0.0.1:8080/catalog/?brand=$1&$args;
    		proxy_redirect http://127.0.0.1:8080/ /;
    		proxy_set_header Host $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		proxy_set_header X-Forwarded-Proto $scheme;
    		proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header X-Real-URL /catalog/$1/;
    		proxy_set_header X-Real-ARGS $args;
    	}

    То есть вам прямо на бэкэнд будет приходить ваша ссылка
    www.site.ru/catalog/?brand=alcatel
    Ответ написан
  • Как применить правило работы с корзиной( с привязкой к группе) для гостя?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Имеются в виду одновременно и не авторизованные и не зарегистрированные?
    Тогда как-минимум нужно определить город.
    Дальше у меня рождается два теоретических сценария.

    1.
    Играть на функции dev.1c-bitrix.ru/api_help/main/reference/cuser/set...
    которая привязывает зарегистрированного пользователя к группе без записи в БД (то есть на время действия сеанса). Но нам нужен авторизованный пользователь — это (регистрацию и авторизацию) можно организовать через API, привязав в соответствующей группе пользователей его города. Генерить ему логин по какому-то правилу и флажок ставить в карточке, что мол это "болванка", которую нужно будет перезаполнить при фактическом оформлении заказа

    2. Имея город и зная, какая скидка отвечает за пользователей "оттуда", генерить одноразовый купон и скрыто его применить. Я помню, когда-то такой финт делал, но очень давно. Но делал =)
    Ответ написан
  • Почему не работает каталог в битрикс?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    А символьные коды у разделов прописаны?
    Карточка раздела, закладка Дополнительно
    Ответ написан
    2 комментария
  • Привязка к элементам инфоблока с уникальными значениями?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Получается, что привязка нужна для того, чтобы получить значения привязанного свойства (например, название и ещё что-то) и это служит текстовым идентификатором характеристики, а параллельно нужно задать значение этой характеристики, верно?

    Рассмотрите тогда такой вариант привязки: тип свойства в инфоблоке автомобилей — Строка, а в детальных настройках проставьте чекбокс "Выводить поле для описания значения"
    i.imgur.com/LXXz4cL.jpg

    В свойство записываете ID привязки характеристики, в описание — уникальное значение
    Ответ написан
  • Как получить свойства элемента инфоблока в битриксе?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Используете правильную функцию. Там на странице и пример есть для получения значений множественного свойства: "Пример 2".

    С другой стороны: "ничего не получается" — слишком размыто.
    Ответ написан
    9 комментариев
  • Битрикс редакция "Старт" автоматическая загрузка XML?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Если речь про админ-страницу
    /bitrix/admin/iblock_xml_import.php
    ... то ею фактически выполняется скрипт
    /bitrix/modules/iblock/admin/iblock_xml_import.php

    Можно его себе скопировать, откорректировать обрабатываемые параметры, добавить "шапку" (для вызова из php-интерпретатора) и вызывать в кроне.
    Ответ написан
  • Как запретить отображение заголовка на index.php?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Можно проверять текущий урл страницы и если это главная страница, не выводить заголовок.

    Текущий каталог:
    dev.1c-bitrix.ru/api_help/main/reference/cmain/get...
    Текущая страница:
    dev.1c-bitrix.ru/api_help/main/reference/cmain/get...

    Если страниц, на которых не нужно выводить заголовок может быть несколько, чтобы не лазить каждый раз в header, отслеживаем не урл, а какую-то переменную.
    Например:
    if ( !defined ( "SKIP_TITLE" ) ) {
    	$APPLICATION->ShowTitle(false);
    }

    а на нужной странице перед подключением пролога определяем константу:
    define( "SKIP_TITLE", true );
    Ответ написан
    Комментировать
  • Битрикс и offset (в запрсе к базе данных)?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    "iNumPage" — номер страницы при постраничной навигации.
    Если размер страницы 20 элементов и "текущий номер страницы" при запросе == 2, то выборка начинается с 41 записи.
    Ответ написан
    Комментировать
  • Сделать компонент битрикса (вывод элементов инфоблока) с бесконечным скроллингом?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Как здесь http://лесобаза.рф/blog/ (смотрим внизу кнопку "Ещё")?
    Я делал, геморройная задача, особенно если интегрировать как у меня — постраничная навигация + догрузка и всё это через аякс.
    Ответ написан
    2 комментария