Идеи пользователя

Рейтинг: 0  
Новая
Предложил Пользователь 420455 17.01.2022 21:16:41

Пофиксить поведение роутов.

Речь про эти Роуты.

При попытке

вызвать экшен контроллера -
return function (\Bitrix\Main\Routing\RoutingConfigurator $routes) {
    $routes->any(
        '/test_api/',
        [
            \Vendor\TestController::class,
            'test'
        ]
    );
};

сам контроллер
namespace Vendor;

class TestController extends \Bitrix\Main\Engine\Controller
{
    protected function getDefaultPreFilters() {
        return [];
    }

    public function testAction() {
        return 'test result';
    }
}

В результате перехода по урлу /test_api получаем ожидаемый результат -
{"status":"success","data":"test result","errors":[]}

Проблема:
В документации к контроллерам написано, что контроллеры могут располагаться либо в модулях, либо в компонентах.
А почему я не могу объявить контроллер вне модуля?
У меня, как и у всех разработчиков настроен автозагрузчик на проекте, и я бы хотел сам определять, где должны лежать контроллеры.

Однако, вышеописанный пример как раз таки реализация ситуации,
когда контроллер лежит Вне модуля.
На первый взгляд - все работает.
Но если попробовать добавить в Неймспейс контроллера еще один уровень, например
namespace Vendor\MyControllers;

и передать его также в роут, то мы словит такую ошибку
[Bitrix\Main\LoaderException] 
There is no `Vendor\MyControllers\TestController` class, module `vendor.mycontrollers` is unavailable (0)


Пофиксите пожалуйста, мега неприятное и неочевидное поведение.

Не хотелось бы из-за этого тащить в проекты доп. зависимость - symfony/router


Чтобы не нарушать обратную совместимость и подгрузкой контроллеров из ajax, предлагаю добавить еще одного Наследника Routing\Controller, чтобы можно было для его дочерних классов не проверять подключение модуля.
Рейтинг: 0  
Новая
Предложил Пользователь 571339 12.01.2022 09:12:50

Хранение логов по включению и отключению автокеширования

Автокеширование и управляемое кеширование является важной и неотъемлемой частью работы крупного сайта.

Часто могут проимсходить ситуации, когда кто-то отключил автокеширование по какой-то причине.

Было бы полезно сохранять логи таких действий, по факту это одна маленькая таблица
Рейтинг: 0  
Новая
Предложил Пользователь 202257 07.01.2022 08:58:58

В личном кабинете добавить возможность просмотра архивных закаов

Нужно пересмотреть механизм просмотра заказов в личном кабинете.
Покупатель хочет просматривать свои заказы не только за 365 дней, как в настройках интернет магазина, но и за предыдущие годы.
Нужно подключить в личный кабинет просмотр не только текущих, завершенных и отмененных заказов, но добавить еще закладку для просмотра архивных заказов.
Если в магазине сотни заказов в день, то за год в базе накапливается сотни тысяч заказов - работа сайта значительно замедляется!
Если в настройках архивирования еще отодвинуть и архивировать к примеру через 1000 дней, сайт работает еще медленнее.
Для обработки заказов достаточно настройки 100 дней и в архив.
Похоже, что когда задумывался механизм просмотра заказов в личном кабинете разработчики не рассчитывали на то, что заказов в день могут быть сотни. Как сейчас механизм рассчитан на 10 заказов в день!
На начало 2022 года я не нашел никакого решения не на просторах интернет ни в
Каталоге Маркетплейс
Рейтинг: 1  
Новая
Предложил Пользователь 420455 23.12.2021 09:31:54

Добавить Dependency Injection контейнер

Добавить нормальный DI-контейнер, желательно с autowire, тем более, вы уже начали двигаться в этом направлении в контроллерах..

и задепрекейтить \Bitrix\Main\DI\ServiceLocator
Рейтинг: 3  
Новая
Предложил Пользователь 420455 13.12.2021 15:32:05

bitrixsetup.php - сделайте уже консольную версию

Не издевайтесь над людьми.
Если нет возможности в докер запихнуть, сделайте хотя бы bitrixsetup.php с возможностью запуска через консоль с параметрами, чтобы можно было как-то автоматизировать установку.
Рейтинг: 0  
Новая
Предложил Пользователь 2357441 11.11.2021 13:26:35

Добавьте параметр для всех компонентов отложенная загрузка

Чтобы при загрузке страницы компонент загружался не сразу, а только после полной загрузки страницы или когда достигает видимости просмотра.
Очень нужная фича не понимаю почему её ещё не добавили, ибо все её по своему колхозят.
Посмотрите как у Аспро реализованно, в крайняк мне напишите, помогу чем смогу.
Рейтинг: 0  
Новая
Предложил Пользователь 2357441 04.11.2021 10:46:09

Регистрация выбор смс провайдера в параметрах

Сделайте чтобы в компоненте регистрации можно было указать через какого провайдера смс этот компонент отправлял бы их.
Рейтинг: 1.8902  
Новая
Предложил Пользователь 127501 29.10.2021 22:02:29

Авторское право

В последнее время все чаще и чаще сталкиваются с требованием указания автора фотографии.
Авторство можно прописать в описании фотографии, но вывести безумно сложно.
Прошу в детальных настройках news.detail добавить возможность выбора поля "Описание изображения", если поле выбрано, то под фотографией выводится описание фото, а если для фото будет отдельное поле "Автор" то цены вам не будет.  
Рейтинг: 1.8902  
Новая
Предложил Пользователь 2090153 29.10.2021 19:11:22

1С-Битрикс.Касса - поддержка ффд 1.2

Уже пару месяцев все новые кассы выдают с 1.2 (с августа даже). Просьба добить данную поддержку в битрикс..
Рейтинг: 0.8902  
Новая
Предложил Пользователь 280956 19.10.2021 16:05:40

Добавить сущность "ИНТЕРНЕТ МАГАЗИН"

Как ни странно в битриксе с его D7  и ORM  в модуле магазин допущена самая главная ошибка проектирования - отсутствие сущности  МАГАЗИН.

Только  представьте как бы было круто... добавить магазин, удалить магазин, сделать магазин не активным, изменить настройки магазина...
Сейчас этих настроек где только нет.. в настройках сайта , в настройках компонентов, в настройках модулей и даже в настройках свойств инфоблоков, только не там где они должны быть по сути "В настройках магазина".
В лицензии мы можем иметь много сайтов но вынуждены в покупателях видеть покупателей всех магазинов и они практически из за этого не разделимы...
Платежные системы, службы доставки. да практически все что там есть -  требует разделения (привязки) по магазинам.


Эту мелочь и сейчас не долго исправить или по крайней мере начать внедрять!  
Рейтинг: 0  
Новая
Предложил Пользователь 420455 10.10.2021 10:30:38

Event profiling

Добавить возможность включения профайлинга для всех событий (или событий для конкретных модулей).
Чтобы в какой-нибудь лог файл записывались события, место вызова и время выполнения.
Рейтинг: 0.8902  
В работе
Предложил Пользователь 792953 10.09.2021 14:06:10

Исправить баг в коментариях

Нашел баг в коде модуля блога, который приводит к вылету.
Проблема в том, что при удалении пользователя, который оставлял комментарий, список комментриев не загружается, так как процес попадает в бесконечную рекурсию.
В файле /bitrix/modules/blog/lib/bloguser.php ксть функция addNotExistingUsers , так вот если в неё приходит хоть один ИД удаленного пользователя (не с таблицы блога с именно с b_users) то она попадает в бесконечный цикл добавления несуществующего пользователя в таблицу блога, который не добавится, так как он не выбирается с таблицы пользователей. Я добавил пару строк чтобы обойти эту проблему http://joxi.ru/L215a4gFzJB4E2 но, полагаю, что нужно доделать анонимного пользователя, который приймет на себя роль коментатора, чтобы не было пустых значений имени.  
Рейтинг: 0  
Новая
Предложил Пользователь 1485319 12.08.2021 14:17:47

Добавление разделов в персональный раздел пользователя

Сделайте удобное добавление новых разделов в персональный раздел пользователя sale.personal.section, сейчас даже на 50% т.е даже на 99%  это у вас реализовано, т.е если в папку с шаблоном добавить новый файл "newrazdel.php" и просто указать в параметрах компонента "SEF_URL_TEMPLATES" => array(......,newrazdel" => "newrazdel/") то ЧПУ работает и открывается страница из шаблона, но любое изменение настроек компонента через визуальную часть перетерает SEF_URL_TEMPLATES"  :(