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

    Использую перенос всех js-скриптов в подвал (Переместить весь Javascript в конец страницы).

    Уберите эту галку - это плохая идея. Она сводится к обработке на каждом хите страницы регулярками.


    Но счетчики Метрики, Google Analitics, Facebook должны быть в .

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

    Пробовал просто использовать в header.php, но все равно уносится все в подвал. Как быть? Как выборочно оставить скрипты в ?

    Как написал - снять все галки, а скрипты размещать вручную.
    Для вывода добавленных через ядро вы можете использовать $APPLICATION->ShowHeadScripts();
    Разместив это в подвале и или в шапке, а в альтернативной части страницы просто <script></script>
    Ответ написан
    2 комментария
  • Как объединить header у всех шаблонов 1C-Битрикс?

    До меня наконец дошло благодаря документации что в битрикс не один шаблон как обычно для всего сайта, а куча разных шаблонов для разных страниц.

    Это не совсем так. Как правило шаблон один. Но можно сделать и свой для каждой страницы.

    Но дело в том что большая часть этих страниц, особенно footer.php и header.php почти одинаковые. Отличие бывает в 1-2 .js, .css файла.

    Если отличия только в подключаемых файлах, то совершенно не правильно делать шаблоны различные для страниц. Шаблон должен быть один, а js и css классически должны подключаться компонентами которым они нужны или в крайнем случае на самих страницах.

    Это страдание разработчиков Битрикс или есть правильно решение?

    Есть. Описал выше.

    Есть какой-то общий файл header.php/footer.php куда я могу прописать все 1 раз.

    Ничто не мешает вам их сделать. Например многие размещают такие файлы в /local/layout и инклюдят внутри разных шаблонов в их header.php/footer.php
    Я еще иногда помещаю их в /local/templates/.default

    И как мне по условию id страницы или её типа может или еще какого параметра подгружать точечно нужные мне скрипты?

    Это не нужно. Подключайте в сами страницах с помощью Asset::getInstance()->addJs("/my_scripts.js");
    Ответ написан
    Комментировать
  • Как работать/проверять разные ветки в git нескольким пользователям в Битрикс:Управление сайтом?

    Проблема у вас в том, что по загадочной причине, вы проверяете работу на серверах разработки. А должны это делать на тестовых серверах, где никакая разработка не ведется.

    Создавать под каждую задачу тестовую площадку

    Ваши специалисты абсолютно правы.

    но это неоптимально по куче различных причин

    Можно услышать хотя бы две? Я не вижу таки причин, при использовании веток Git.

    P.S. Битрикс тут не при чем.
    Ответ написан
    4 комментария
  • Откуда взялась таинственная spam-регистрация на bitrix-сайте?

    Добавлю к посту Евгений, что для защиты можно снять галку "Позволять пользователям регистрироваться" (или как-то так) в настройках главного модуля. А "Запрашивать CAPTCHA при регистрации" наоборот - поставить.
    Ответ написан
    3 комментария
  • Из за чего не подключаются стандартные скрипты и стили в админке Битрикс?

    Там скорее всего статику отдает 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 комментария