Код ошибки тот же? HY000/2002? Возможно, есть какой-либо компонент, который кеширует вывод и в первый раз он триггерит ошибку, а во второй - выдает кешированый html и не триггерит ошибку. Хорошо было бы проверить, кеширование таких областей. Попробуйте дописать в функцию - return false;
Я уже отвечал в соседней теме что лучше тогда написать свой код добавления в корзину. Слишком много дополнительного кода, который нужно прописывать и на страницу и в js, а профита мало. Проще следовать битриксовому подходу - выводить на странице, а в корзине/оформлении давать редактировать.
TL;DR: 1) В случае с arParams в onPrepareComponentParams - это входной параметр и называться он может как угодно 2) В случае с пустым arParams в executeComponent - так Вы же его там не обьявляли, поэтому и нет 3) Читайте про область видимости переменных
Логично, можете возвразить что в component.php он же есть, хотя Вы его не обьявляли. Но! Обратимся к родителю - CBitrixComponent и его методу:
Код
public function executeComponent()
{
return $this->__includeComponent();
}
Теперь посмотрим что лежит в __includeComponent():
Код
/** @noinspection PhpUnusedLocalVariableInspection */
global $APPLICATION, $USER, $DB;
if (!$this->__bInited)
return null;
//these vars are used in the component file
$arParams = &$this->arParams;
$arResult = &$this->arResult;
$componentPath = $this->__path;
$componentName = $this->__name;
$componentTemplate = $this->getTemplateName();
if ($this->__parent)
{
$parentComponentName = $this->__parent->__name;
$parentComponentPath = $this->__parent->__path;
$parentComponentTemplate = $this->__parent->getTemplateName();
}
else
{
$parentComponentName = "";
$parentComponentPath = "";
$parentComponentTemplate = "";
}
return include($_SERVER["DOCUMENT_ROOT"].$this->__path."/component.php");
Оказывается, что когда Вы работаете с $arParams и $arResult в component.php его создает за Вас CBitrixComponent и соответственно Вы можете его использовать. Так что никакой ошибки нет
Николай Ильичёв написал: но что дальше делать ума не приложу. Подскажите, пожалуйста
Редактируете компонент так, как если бы он работал в режиме ЧПУ от корня сайта. Берете название переменной из компонента и вставляете в urlrewrite.php
Либо используете не комплексный компонент, а новость детально, там есть специальный параметр - ELEMENT_CODE и в него вставляете код из REQUEST, который у Вас в urlrewrite.php
Евгений Макаров, Я Вас немного разочарую: 1) Это окошко собирается на Javascript. Косметические правки Вы конечно сделать можете, но если Вы хотите добавить в него информации - придется его почти полностью переделать. 2) В каждом разделе это окошко свое. Т.е. на главной странице при добавлении товара вызывается одно окошко, в карточке товара другое, в списке товаров третье.
Если Вы хотите его найти, то откройте свой шаблон, в нем закомментируйте (переименуйте во что-нибудь) файл script.min.js и в файле script.js ищите BTN_MESSAGE_BASKET_REDIRECT
Владислав Морозов написал: Не подскажете конкретнее, как это сделать?
Читаем про события и то, как это работает в целом. Перед добавлением в очередь отправки, срабатывает событие OnBeforeEventAdd (модуль main) Подписываетесь на событие, триггерите нужные Вам события, смотрите параметры и контролируете добавление.
Владислав Золотухин, опишите подробнее - причем тут ajax, как это у Вас устроено (собственный компонент или стандартные,шаблон кастомизировали ли). И ссылку на страницу с описанием как воспроизвести (если можно).
Алексей Огурцов написал: 8 дней отсутствия какой либо реакции это нормально - это пока укладывается в регламент?????
Внизу есть специальные кнопочки с опцией "Недоволен командой поддержки". Вы пробовали в чатик битрикса писать? Прям вот зайти и написать?
P.S. Я никогда с МП не работал со стороны разработчика, но разве это время считается не с последнего Вашего сообщения? P.S.1: Полина Кузьменко... знакомое имя - по-моему она еще и приложения в Marketplace проверяет, так что лучше пусть она тщательно проверяет приложения (что она кстати делает очень хорошо), чем решает подобные вопросы
отсутствие кнопки "отправить файл" в диалогах "Чат и звонки", "click to call" формы после обновления, отсутствие кнопки "отправить файл" в диалогах "Чат и звонки", "click to call" формы после обновления
IT KOLOSBEL написал: Добрый день.После обновления до последней версии коробочной версии корпоративного портала пропала кнопка "прикрепить файл" в диалогах "Чат и звонки".Также после обновления "click to call" форма на сайте не работает (т.е. отсутствует). Т.е. из битрикса нельзя набрать произвольный номер, а также не всплывает карточка вызова при входящем вызове.
Отвалился модуль push'n'pull. Проверяйте чтобы он был включен и корректно настроен
Роман Алекеев написал: Не Подскажите как в этом коде передать своё значение, чтоб оно отобразилось в карточке компании в разделе email?Пока получилось только вывести список email'ов данной компании по ее id.
Вы же через getList получаете, а добавлять нужно через Add. Пока не добавите, он не будет отображаться.
Екатерина Семенова написал: Первое что приходит в голову - использовать стандартные grid, но у них нет вложенности. Полностью писать свой компонент тоже как то не хочется .
Посмотри в сторону main.ui.grid, один уровень там точно есть. Но проще сделать свой компонент
Эм... а сколько получателей у сообщения? Например, если их до 20-30 человек, то можно их в копию ставить и тогда цикл на получение будет 1, и 1 отправка. Можно конечно без цикла - SQL запрос, тогда 1 запрос, 1 обработка(т.е. без цикла) и 1 отправка. Если получателей больше, то тогда все равно цикл будет.