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

    Там скорее всего статику отдает nginx так что htaccess не при чем.
    Возможно в настройках nginx есть правило запрещающие доступ к этим файлам.
    Или сами файлы недоступны для чтения сервером, просто по причине прав на сами файлы/папки (не знаю как это в виндовс работает)
    Ответ написан
    Комментировать
  • Как решить проблему дублей на Bitrix?

    При чем тут битрикс? В смысле причем он как источник проблемы? Вы сделали две одинаковые страницы, а теперь спрашиваете почему они одинаковые? Поразительно.
    А собственно почему это страницы отображающей один и тот же товар должны быть разные тайтл и дескрипшин? Это что, разные товары?
    Ну то-есть у вас проблемы не с битриксом, с логикой вашего каталога. Приведите в порядок логику и маркетинговый план.
    Разберитесь каким должны быть тайтл и дискрипшен у товара.
    Обоснуйте почему они у ОДНОГО И ТОГО ЖЕ товара должны быть разные и по каким принципам должны формироваться - дальше будет понятно что делать.


    Технической же проблемы большой нет - наверняка сейчас у вас тайтл и дексрпшин формируются по правилам настроенным в настройках инфоблока и устанавливаются штатным компонентом. Никто не мешает вам добавить в шаблон компонента например component_epilog и устанавливать параметры страницы в нем, так как вам нужно, по логике которая вам необходима.
    Ответ написан
    2 комментария
  • Трививальный вопрос, требующий обсуждения - что лучше, комплексный компонент каталога или 1000 индексных страниц с section list + catalog section?

    На мой взгляд вы выбираете между плохим и ужасным решением.
    При этом не очень понятно каким образом 20 000 индексных страниц могут "нагрузить систему". Почему это с технической стороны должно быть хуже/тяжелее?
    20 000 индексных страниц нагрузят вас - поддерживать такое превратится в мартышкин труд. Совершенно не понятно почему вы собрались делать на каждый раздел отдельную индексную страницу. Почему не сделать её одну на все разделы?

    То есть, что лучше, использовать комплексный компонент или разбивать каталог на раздельные части, размещая разделы инфоблока в разных индексных папках?

    Ложная дихотомия тут. Почему вы полагаете что у вас выбор между комплексным компонентом и собственной индексной страницей для каждого раздела?
    Сделайте три файла в каталоге - index, section и detail и разместите в них соответственно список разделов, раздел, и детальную страницу элемента.
    Т.е. в index - catalog.section.list, в section - catalog.section и в detail соотвественно catalog.element.
    Настройте нужным образом urlrewrite и это на мой взгляд лучшее решение. Можно конечно применить и комплексный компонент в одном индексном файле, но на мой взгляд это плохое решение - оно менее прозрачно, громоздко и может привести к ошибка в работе с url, так как перекладывает на вас контроль за настройками путей на сайте.
    Ответ написан
    7 комментариев
  • Как в Битрикс через SQL запрос, нескольким товарам записать свойство?

    Добавлю к ответу Андрея (в принципе полностью верному), что вообще не стоит даже пытаться это сделать - используйте API и вы застрахуете себя от многих проблем в будущем.
    Если вам необходимо действие как транзакция - этом можно организовать: гуглите "StartTransaction"
    Ответ написан
    2 комментария
  • Какую ОС для сервера лучше использовать для Битрикс? Что Вы можете мне порекомендовать?

    Подойдет любая. CentOS удобна только тем что для нее есть скрипт устанавливающий BitrixEnv, что очень удобно. В скрипте есть процедуры для настройки работы сокетов, выпуска сертификата летсэнкрипт и тому подобного.

    Если вы сами в состоянии администрировать сервер и знаете что и зачем нужно - пойдет и Ubuntu.

    Я использую и то и то.
    Ответ написан
    Комментировать
  • Как перевести проект на React (на проекте битрикс)?

    Но если мы будем переводить проект на реакт, то как мы будем писать php в нем?

    Что это вообще может значить? PHP у вас это server side, а React это клиентское приложение.... Блин, я даже не знаю что дальше спросить... вы PHP в браузере собрались исполнять или JS интерпритатором PHP?
    Это вот вопрос он лишен смысла чуть более чем полностью.

    Ведь синтаксис реакта ( jsx ) не предусматривает php.

    Да причем тут синтаксис? Среда исполнения не предусматривает php, а вы про синтаксис.

    И мне кажется, так просто взять за неделю и перевести проект на реакт не получится. Наверное будем частями переводить.

    Если это сайт среднего размера, то нужно заложить не неделю, а несколько месяцев.

    Т.е. получается одна часть проекта будет написана на реакте, а другая - нет? Это вообще как?

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

    У кого то есть подобный или близкий к этому опыт? Что посоветуете? Как грамотно перевести проект на реакт в таком случае?

    Выше написал:
    1 Сначала разрабатываете шаблон для одного раздела сайта на React, так как буд-то других разделов просто не существует.
    2 Пишите соотвествующий бэкенд который будет отдавать данные для этого вашего шаблона.
    3 Переводите этот раздел сайта на React.
    4 Эксплуатируете неделю, подчищая косяки.
    5 Выбираете еще один раздел сайта поменьше и переводите его аналогичным образом.
    6 В этом месте у вас уже должно быть понимание где вы наложали с архитектурой, какие накопились костыли, и в чем фундаментальные изъяны того что вы сделал. Тут вы должны остановиться и выкинуть всё что сделали раньше. Я не шучу - просто выкинуть и начать перерабатывать эти разделы с нуля...
    7 Теперь вы знаете что делать дальше.
    Ответ написан
    6 комментариев
  • Как в админке выводить элементы разделов согласно вложенности?

    В настройках модуля Информационные блоки поставить галочку "Совместный просмотр разделов и элементов"
    Ответ написан
  • Должен ли быть редирект 301 www с https или только с http в битрикс?

    1 Битрикс тут совсем не при чем.
    2 Нужно как вам нужно. А как вам не нужно - не нужно.
    3 Я бы сделал все без www.

    Сейчас у вас ничто вообще не убирает www. Просто при входе с http происходит редирект на https://site.ru
    Было там www или не было ему решительно все равно. Вы написал - если http - редиректить на https://site.ru, не зависимо от того что было до этого.

    Для удаления www нужно добавить что-то вроде:
    RewriteCond %{HTTP_HOST} ^www\.(.*)$
    RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

    (не проверял)
    Ответ написан
    Комментировать
  • Как подключить стили одни в header, другие в footer?

    Не использовать $assets->addCss или неиспользовать его хотя бы для одной группы стилей.
    Я пользуюсь своим собственным способом подключения стилей который использует AddViewContent и ShowViewContent.
    Это удобно и позволяет подключать стили и скрипты так как нужно. Текущая реализация подключения в битрикс устарела на 10 лет, но делать ее все равно не будут - это не покажешь на презентации.
    Ответ написан
  • Почему ссылки в шаблоне Битрикс задаются от корня сайта?

    Битрикс тут не при чем. Что вы вводите в свойство - то и он и выводит.

    Т.е. допустим если вы ввели yandex.ru, то в href как раз и будет yandex.ru. и это разумеется будет ссылка на http:/site.ru/yandex.ru с главной.

    htmlbook.ru/samhtml/ssylki/absolyutnye-i-otnositel...
    Ответ написан
    2 комментария
  • Как сделать url элемента инфоблока Битрикс по его символьному коду?

    Измените URL страницы детального просмотра на "#SITE_DIR#/decision/#CODE#/"
    Ответ написан
    Комментировать
  • Как устранить BX is not defined в админке?

    Ну если
    после загрузки страницы в консоли браузера BX вполне себе определен
    , то мне кажется надо разбираться с тем где и как он вызывается. Почему кто-то дергает его еще ДО загрузки библы?
    Я бы грешил на какое-нибудь стороннее решение установленное на сайте и работающее в админке.
    Ответ написан
  • Как кастомизировать опросы bitrix?

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

    У вас $value - это массив, поэтому его нельзя просто echo.
    Сделайте print_r($value) и посмотрите в каком ключе нужное вам значение. Потом
    <?=$value['КЛЮЧ']?>
    Ответ написан
  • Создание нового сайта битрикс на основе старого?

    Так с нуля или прикрутить к нему старую БД?
    И что вы вообще называете БД?

    По сути есть два пути:
    1 Взять старый сайт и перепилисть компоненты и их шаблоны. Таким образом вы меняете условно говоря только контроллеры и вьюверы. БД полностью остается прежней, вместе с базой товаров.
    2 Сделать полностью новый сайт с нуля, а товары в него перенести с помощью процедур импорта/экспорта, но скорее всего не стандартных (так к как в их случаи получится скорее всего структура БД аналогичная исходному, а в этом случае почему бы не использовать вариант 1), а самописных. Тут вы меняете все вообще.

    Какой вариант исползовать зависит от того насколько структура БД соотвествует вашим представленям о том какова должна быть архитектура сайта.

    Если текущая архитектура хороша - используйте подоход 1. Если нет - выбирайте подход 2.

    Другие варианты есть? Да.
    Гибридный подход - вы берете текущий сайт и на его основе и БД создаете новый, используя новые ИБ и сущности для нового сайта. Старые ИБ и сущности вы сохраняете на сайте, а данный в новые переносите с помощью скриптов миграции.
    Люблю этот гибридный вариант - старые данные могут оставать на сайте сколь угодно долго и к ним всегда можно обратится. Скрипты переноса данных из одного ИБ в другой как правило сильтно проще чем скрипты импорта/экспорта.
    Единственный минус - небольшой бардак в админке, но по завершению работ можно на бою и снести старые ИБ наведя порядок.
    Ответ написан
    Комментировать
  • Почему не все транзакции передаются в Google Analytics (Ecommerce)?

    Если транзакции отправляются скриптом js (а это подавляющее большинство реализаций), то скорее всего скрипт не отрабатывает по каким-то причинам.
    Чаще всего отправка реализована так - на финальной странице с инфой о заказе вставлены скрипты которые забивают эти цели. А дальше может быть 100500 причин почему они не сработали:
    - клиент не дождался пока страница загрузится целиокм и закрыл ее, скритпы даже не стартанули
    - у клиента отвалился интернет - вроде и страинца загрузилась и скрипты выстрелили, но сети не было
    - скрипты собраны в одни блок с какими-то другими и там произошла ошибка - процесс упал, до отправке дело не дошло
    - у клиента работает ваш сайт, но заблокирован Яндекс - все сработало хорошо, и интернет есть, но не для Яндека/Гугла
    Ответ написан
    3 комментария
  • Ошибка 'bitrix:system.auth.authorize' is not a component?

    У вас нет компонента bitrix:system.auth.authorize
    Или части файлов (а конкретно component.php) в его каталоге. Возможно случайно удалили, возможно развернули из не полного архива, возможно не хватило место для записи файлов на диск при разархивировании, возможно по какой-то другой причине не дозаписалось.
    Если это штатный компонент и вы его не кастомизировали (почти наверняка это так), то он должен лежать по пути /bitrix/components/bitrix/system.auth.authorize.
    Проверяйте этот каталог.
    Но вообще плохой признак - нет его, вероятно нет и чего-то другого. Вы уверены что полностью перенесли ядро битрикс? Сверьте содержимое каталогов /bitrix

    UPD:
    Есть еще вариант - вы, или кто-то до вас кастомизировали его, и каталог компонента существует (что-то вроде /local/components/ЧтоТоТам/system.auth.authorize), но пуст - не содержит файла component.php или он недоступен.
    Ответ написан
    2 комментария
  • Bitrix. bitrix:news вывод элементов верхнего уровня и подразделов?

    Ну все правильно. У вас у элемента без раздела урл получается /news/КОДЭЛЕМЕНТА/ - а этом у вас страница раздела. Так как раздела скорее всего с таким кодом не существуют - выводятся все элементы.
    А чего вы хотите? Какая должна быть логика работы?
    Отображать элемент? Стандартными компонентами вы это не сделаете, так как нет совместной уникализации кодов разделов и элементов. Значит вам либо надо делать непосредствено в /news/index.php код который будет выбирать какой компонента подключать - комплексный новостей или одной новости.
    Либо же кастомизировать комплексный компонент (я так понимаю вы его используете) новостей
    Ответ написан
    Комментировать
  • Как вывести количество товаров на странице в Битрикс?

    А в чем сложность?
    echo count($arResult['ITEMS']) почему-то не подходит?
    Ответ написан
  • Как актуализировать элементы инфоблока (REST)?

    0 А чо не md5?
    1 Как-то странно - вы проверяете контрольную сумму и обновляете элемент если она совпадает? А зачем? Если у вас контролька от данных и они не изменились - зачем обновлять? Пропустите этот элемент.
    2 Зачем вообще сначала сверять контрольные суммы? Какой в этом смысл если у большинства он будет разный?
    3 Вы понимаете что ваш алгоритм (если вы его правильно описали - я код не смотрел) будет обновлять элементы которы не нуждаются в обновлении (с совпадающем хэшем) и будет создавать дубли объектов, если их надо обновить, так как вы добавляете элементы с отличными хэшами в массив ADD?

    Как делал бы я - получил объекты.
    Собрал их внешние id и извлек из базы справочник по этим id по полю XML_ID, такой где XML_ID => TMP_ID.
    Далее переберал бы входные объекты, вычисляя для них хэш и если объект с XML_ID == id есть в справочнике, то сверял бы хэш. Если он совпадает - пропускаем объект. Если нет - добавляем его в uppdate. Если объекта нет в справочнике - добавляем его в add.
    Ответ написан
    4 комментария