Столкнулся с такой проблемой: хотел кастомизировать верстку некоторых компонентов bitrix24.
Скопировал в админке в разделе "Шаблоны сайта" нужный мне шаблон. Потом переместил его в папку local. Потом в админке указал - что нужно использовать мой, скопированный шаблон.
Но, после того, как я обновил страницу со сделками, я увидел, что скопированный шаблон применился - но стили у него почему то другие. Часть верстку вообще слетела. И в целом - я хотел, чтобы по визуальной части никаких изменений не было. Мне просто нужна полная копия шаблона, который лежал в папке bitrix, чтобы я мог свои эксперименты делать уже на копии, но нет - почему то стили слетели. Можете подсказать - в чём проблема?
Шаблон с синим оформлением - исходный. Его я и копировал. Шаблон, где на фоне цветы - после применения скопированного шаблона в папку local.
Подскажите, кто-нибудь пробовал разрабатывать кастомные типы свойств для инфоблоков?
Хочу сделать кастомное свойство типа "Таблица". Строками такой таблицы были бы значения свойств элементов привязанного инфоблока
Например мы хоти в карточке сделки CRM системы Битрикс24 вывести свойство типа "Таблица". В настройках свойства (в админке или в публичной части) указываем привязку к инфоблоку. И потом уже, когда пользователь привязывает элементы другого инфоблока - это свойство бы красиво отображало эти привязанные элементы в виде строк таблицы, например вот так:
NAME
DESCRIPTION
COLOR
SIZE
Элемент_1
Описание_1
Синий
45
Элемент_2
Описание_2
Черный
41
Тут мы привязали 2 элемента инфоблока, и отобразили их поля и свойства в виде строк в таблице
Подскажите, где можно подробно почитать, как это можно было бы реализовать. Нашёл вот тут статью: - но не помогло. Да и в комментариях пишут тоже что описание не очень.
Пока что я только понял что нужно написать обработчик события OnIBlockPropertyBuildList в своём классе, и правильно реализовать несколько методов, для отображения моего кастомного типа свойства в админке и публичной части.
API для работы со свойствами товаров торгового каталога
Подскажите пожалуйста, каким образом, используя API Битрикс можно проставить галочку "Показывать на странице редактирования элемента" у свойства товара?
Делаю скрипт, который проходится по элементам инфоблока. Инфоблок является торговым каталогом. Скрипт проходится по товаром, и смотрит, какие свойства заполнены, а какие нет.
Выявляет общие свойства, и задаёт эти свойства разделам этого инфоблока. Пример вот тут:
Предположим, что я нашёл, что у меня свойсво PRICE общее для всех разделов, то есть у всех товаров этого инфоблока свойство PRICE заполнено.
Соответственно мне нужно в настройках торгового каталога в свойствах товаров у свойства PRICE проставить галочку "Показывать на странице редактирования элемента". Руками я конечно это могу сделать, но подскажите, есть ли API для того, чтобы это можно было сделать кодом?
Есть такая задача - во время установки модуля, нужно чтоб на страницах сайта, перед элементов с id="header" вставлялся бы код вызова компонента моего модуля.
Нужно именно не руками его разместить в header.php шаблона, а чтоб динамически, при установке модуля, модуль бы искал DOM-узел с id="header" и перед ним вставлял бы код вызова моего компонента, и чтоб компонент отрабатывал бы.
Сам компонент просто выводит текст из настроек модуля.
Первое что пришло в голову - написать в своём модуле обработчик события OnEpilog. Вот код обработчика:
Код
public static function OnEpilogHandler()
{
global $APPLICATION;
$APPLICATION->AddHeadScript('/bitrix/js/my.notify/script.js');
}
Решил попробовать развернуть резервную копию проекта БУС 25.600.0 на BitrixVM 9.0-6-CentOSStream9-VirtualBox Сама резервная копия встала нормально, но заметил, что при запуске виртуальной машины появляются предупреждения: [CODE]Warning: Deprecated Hardware is detected: x86_64-v2:GenuineIntel: Intel® Core i7-6500U CPU @ 2.50Ghz will not be maintained in a future major release and may be disabled[/CODE][CODE]Warning: Spectre v2 mitigation leaves CPU vulnerable to RETBleed attacks, data leaks possible![/CODE][CODE]Invalid DMI field header. Warning: Unmaintained driver is detected: e1000[/CODE] Подскажите, насколько критичны эти предупреждения? Или пора уже думать о покупке нового железа?
Вообще в целом заметил, что развернутый из резервной копии проект на VMBitrix тормозит, что на 9.0-6 тормозит, что на 9.0.0 тормозит. Причину выясняю.
Думал что на VMBitrix тут летать всё локально будет, но нет...
Всем привет! Есть задача: Для ссылок, у которых есть GET-параметр, нужно чтоб в коде страницы добавлялся бы тег [CODE]<li nk rel="canonical" href="https://www.site.ru/training/all/custom-link">[/CODE] Я написал модуль. В модуле есть обработчик события OnEpilog
Тестировал на BitrixVM - всё работает. Для страницы, в URL которых есть GET-параметры, в header.php корректно формируется ссылка с rel=canonical.
Перенёс решение на тестовый сервер - не работает. Почему так - вот уже пол дня голову ломаю. Помогите, кто знает.
Вот код обработчика: [CODE]class EpilogEvents { public static function onEpilogHandler() { if (defined('ADMIN_SECTION') && (ADMIN_SECTION === true)) return false;
<? include($_SERVER["DOCUMENT_ROOT"] . "/local/templates/main/head_css.php"); ?> </head> ...[/CODE] Но почему то на тестовом сервере ссылка с rel=canonical не формируется, помогите пожалуйста - куда копать?
Помогите пожалуйста с проблемой: на детальной странице товара есть вкладка "Отзывы". В этой вкладке размещён компонент
bitrix:catalog.comments
Внутри шаблона этого компонента, в файле component_epilog.php размещён вызов компонента bitrix:blog.post.comment с кастомным шаблоном. Проблема в том, что в форме, которую отображает этот шаблон, есть звезды - для того, чтоб пользователь мог поставить оценку товару. При наводке курсора на звезду - она окрашивается в желтый цвет, как и должно быть. Я кликаю по звезде, чтобы зафиксировать свой выбор, например хочу поставить 4 звезды. Кликаю на 4-ю звезду слева, потом увожу курсор, и мои 4 заполненные, желтые звезды снова становятся белыми - как будто я ничего и не выбирал. Сколько ни кликай, а оценка не сохраняется. Соответственно я и отзыв оставить не могу, т.к. оценка не заполнена.
Смотрел файлы ajax.php, script.php компонента bitrix:blog.post.comment - никаких обработчиков onclick, mousemove, mouseover, mouseout я там не нашёл.
Помогите пожалуйста. Подскажите, куда копать?
В консоли вот такие ошибки выходят: [CODE]Uncaught ReferenceError: JCCatalogProductSubscribe is not defined[/CODE]Понимаю, что ругается на то, что такого объекта нет, но как мне это поможет, и самое главное, как это исправить, я пока не знаю.
Посмотреть сам баг можно тут: [URL=http://194.88.15.182/catalog/products/semena_arbuz_savvin_vkus_f1_portsionnyy_5_sht_semko_4640001825521/#reviews]Ссылка[/URL]
Вкладка "Отзывы", там есть зеленая кнопка "Оставить отзыв". При клике на эту кнопку, отобразится форма, где можно выбрать оценку товару - в виде звезд. Вот с этими звездами и проблема.
Столкнулся с такой проблемой. Есть 2 сервера. На обоих развернута Б24
Но на одной из них нормально работает веб-мессенджер, а на другой - вообще не работает.
Вот скриншоты раздела /online/ сервера, на котором веб-мессенджер не работает. Консоль Google Chrome отдаёт ошибки
1.
Код
Uncaught TypeError: BX.onGlobalCustomEvent is not a function
at Object.draw (core_planner.js?17373322103206:78:5)
at online/:742:12
at online/:745:3
2.
Код
Uncaught TypeError: Cannot read properties of undefined (reading 'isDesktop')
at ItemsController.updateCounters (items-controller.js:505:19)
at Menu.updateCounters (menu.js:1440:29)
at online/:1651:64
На ошибку №1 я не обращаю внимания, т.к. на сервере где веб-мессенджер работает эта ошибка тоже есть, но даже с ней мессенджер работает. А вот ошибка №2 есть только на сервере, где мессенджер не работает.
Подскажите, где искать решение? Посмотрел я в items-controller.js:505:19
там идёт вот такой кусок js-кода:
Код
if (DesktopApi.isDesktop())
{
DesktopApi.setBrowserIconBadge(visibleValue);
}
Подскажите пожалуйста, каки образом в битриксе я могу из обработчика события вызвать вот такое вот окошко, и передать в него произвольный текст, а не текст исключения?
Настроена интеграция со сторонней системой, и если из сторонней системы пришло сообщение о том, что трудозатрата уже согласована - то в битриксе в обработчике нужно отменить правку этой записи и вывести пользователю сообщение об этом.