208 похожих чатов

Кто подскажет как подключить класс компонента и отнаследоваться от него

в local/components ?
дело в том что условный
CBitrixComponent::includeComponentClass ищет сперва в local (файл который по сути мы и переопределяем)

* сейчас накидал
$path = CComponentEngine::MakeComponentPath("bitrix:sale.personal.order.list");
if(!$path) die();
$componentPath = '/bitrix/components'. $path;
$fname = $_SERVER["DOCUMENT_ROOT"].$componentPath."/class.php";
if(!file_exists($fname)) die();
include_once($fname);

но неужели в ядре нет метода для таких манипуляций?

13 ответов

58 просмотров

Наследовался, проблем не было

Andrew-Zahalski Автор вопроса
Ruslan
screenshot Наследовался, проблем не было

тут да, но придется тогда менять настройки на сайте а у меня задача универсально и меньшей кровью вывести заказы в списке по своему фильтру (без проверки USER_ID)

Andrew Zahalski
тут да, но придется тогда менять настройки на сайт...

Какие настройки на сайте? Заменить на странице подключения компонента неймспейс на свой? Изящнее некуда, как по мне

Andrew-Zahalski Автор вопроса
Ruslan
Какие настройки на сайте? Заменить на странице под...

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

Andrew Zahalski
компонент же комплексный со списком, так что там и...

Шаблон для комплексного с подключением кастомного листа внутри можно заранее подготовить. При желании, кастомный компонент можно выбрать в виз.редакторе так же, как и штатный. Не понимаю проблемы пока

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

Andrew-Zahalski Автор вопроса
Ruslan
Вы, видимо, хотите переопределить штатный компонен...

для переопределения нужно полностью копировать class.php тогда ок, но а если с обновой что прилетит :) а так отнаследовался, переопределил 1 метод с фильтром и норм вот именно такой возможности видимо и не предусмотрели ну видимо include_once и есть единственный вариант

Andrew-Zahalski Автор вопроса
Ruslan
Вы, видимо, хотите переопределить штатный компонен...

причем это просто одна функция по факту

Andrew-Zahalski Автор вопроса
Ruslan
Вы, видимо, хотите переопределить штатный компонен...

ну и как всегда проблем придумал :) Bitrix\Main\Loader::registerAutoLoadClasses(null, array( 'CBitrixPersonalOrderListComponent' => '/bitrix/components/bitrix/sale.personal.order.list/class.php', )); и готово

Andrew Zahalski
ну и как всегда проблем придумал :) Bitrix\Main\Lo...

"У меня возникают смутные подозрения"...

Andrew-Zahalski Автор вопроса
Eugene Zhukov
"У меня возникают смутные подозрения"...

работает вроде как и норм решаю извечную проблему с пачкой юзеров в оформленных без авторизации заказов и возможности просмотра истории таких заказов в качестве идентификации заказов номер телефона (разумеется подтвержденный ранее по смс)

Andrew Zahalski
работает вроде как и норм решаю извечную проблему...

Понимаю. А почему юзера по телефону не создавать?

Andrew-Zahalski Автор вопроса
Eugene Zhukov
Понимаю. А почему юзера по телефону не создавать?

решение для абсолютно любого магазина, не зависимо от того как ранее в таком магазине создавались заказы но фактически же юзер может по телефону создаться только 1 раз (телефон = логин) а следующий анонимный заказ на этом телефоне юзер с другим логином, ну или ошибку получай и просить авторизацию

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта