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

Рейтинг: 0.1033  
Внедрено
Предложил Пользователь 17890 01.08.2013 07:21:02

Сделать нормальную автозагрузку классов через API

Сделать возможность писать свои автопогрузчики классов, либо стандартизировать эту операцию.

Выходит, что сейчас максимум что можно - это сделать автозагрузку в рамках своего модуля, как описано в блоге. А если мне не нужен модуль? А если мне нужна некая своя "библиотека классов", которые я, допустим, в компонентах дергаю? Мне все время include необходимого класса писать в init.php? Хочется по-людски управлять этим процессом...

Я делал следующий хак: подрубал файл в dbconn.php и переопределял функцию __autoload(). (До того, как битрикс эту функцию "захавает" под себя).
Это все под PHP 5.3 было. Хака, чтобы использовать spl_autoload_register() я не нашел.

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

Сейчас с этим полный "баян", а хочется что-то хорошее...
Рейтинг: 2.0956  
Внедрено
Предложил Пользователь 3308 23.11.2012 10:46:32

Хотим сортировку Типов инфоблока по Названию

Сейчас для сортировки доступно всего два поля:

Массив полей для сортировки, содержащий пары "поле сортировки"=>"направление сортировки".
Поля сортировки могут принимать значения
   id - код типа;
   sort - индекс сортировки;
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocktype/getlist.php
Рейтинг: 0  
Ответил Жуков Евгений 23.07.2019 16:06:07
Вышло в iblock 12.5.6
Рейтинг: 3.6533  
Внедрено
Предложил Пользователь 28194 26.10.2012 12:11:58

Кодировка chm файла документации разработчика

Хочу для удобства добавить bsm_api.chm в своей редактор кода (PHPEd), но возникает проблема с кодировкой файла windows-1251.  Пробовал сконвертировать в UTF-8, но не нашел подходящего софта. Так вот, идея заключается в том, чтобы вы скомпилировали CHM файл в unicode и предлагали для скачивания в разных кодировках.
Рейтинг: 0.8253  
Ответил Басыров Роберт 21.01.2013 12:26:37
Файлы документации в кодировке UTF можно теперь скачать на сайте. Они будут генериться одновременно с традиционными, в 1251.
Рейтинг: 18.4712  
Внедрено
Предложил Пользователь 11948 15.10.2012 13:13:56

CSaleBasket::GetList - добавить фильтрацию по дате заказа

Аналогичное идеи, надо просто добавить фильтр по уже связанной таблице.
Рейтинг: 0  
Ответил Жуков Евгений 22.09.2021 21:27:42
Необходимо использовать api d7 - \Bitrix\Sale\Basket::getList
Рейтинг: 10.642  
Внедрено
Предложил Пользователь 11948 12.10.2012 08:24:08

CSaleBasket::GetList - добавить фильтрацию по отмененности заказа

Просто вписать строчку в метод надо
"ORDER_CANCELED" => array("FIELD" => "O.CANCELED", "TYPE" => "string", "FROM" => "LEFT JOIN b_sale_order O ON (O.ID = B.ORDER_ID)"),

В идеале, конечно, побольше вариантов фильтрации по заказу дать, но неопределенные просьбы исполняются реже :)  
Рейтинг: 0  
Ответил Жуков Евгений 24.09.2021 22:46:29
Необходимо использовать api d7 - \Bitrix\Sale\Basket::getList
Рейтинг: 0.5937  
Внедрено
Предложил Пользователь 11898 14.09.2012 15:36:43

Расширить API для добавления сообщений в административной панели

Чтобы вывести аккуратно оформленное текстовое сообщение в административной панели для собственного решения приходится передавать не только текст сообщения, но обрамлять его куском html кода.

Сейчас приходится делать:
if ($list->table_id == 'tbl_security_iprule_list') {
       $list->sEpilogContent = 'test';
}
Можно было бы сделать что-то типа CAdminList->SetEpilog($text);  
Рейтинг: 0.5937  
Ответил Жуков Евгений 17.09.2012 12:50:48
Для этих целей используйте методы CAdminList::BeginEpilogContent и CAdminList::EndEpilogContent:
$tabControl = new CAdminList(); 
... 
$tabControl->BeginEpilogContent(); 
echo $test; 
$tabControl->EndEpilogContent();
Рейтинг: 1.1042  
Внедрено
Предложил Пользователь 55997 13.08.2012 16:55:18

Контакт-лист в Веб-мессенджере

Хотелось бы иметь возможность изменять контакт-лист по своему усмотрению, например, по событию в CIMContactList::GetList
Когда это может потребоваться:
Есть группа пользователей учителя и группа учащиеся, учителя должны видеть всех учащихся только своего класса, соответственно, учащиеся должны видеть своих учителей. При этом в данный момент так можно сделать если все учащиеся и учителя вступят в одну группу соцсети и добавят друг друга в друзья.
Рейтинг: 0  
Ответил Шеленков Евгений 30.11.2012 11:53:43
Спасибо за идею, событие мы можем добавить, на первый взгляд это может показаться удобным, идею записал, добавил в план на развитие.
С другой стороны, начиная с версии 12.1.0 писать можно любым пользователям, не только друзьям, это должно немного вам помочь.
Рейтинг: 0.178  
Ответил Шеленков Евгений 16.01.2013 13:42:38
В обновлении модуля im 12.1.3 будет добавлено событие OnAfterContactListGetList, в которое будет передаваться по ссылке массив данных Списка контактов (пользователи, группы, список пользователей в группах).
Рейтинг: 17.5171  
Внедрено
Предложил Пользователь 71426 02.08.2012 19:05:06

css файлы ядра склеивать в отдельный файл css

Сейчас при открытии
{доменное имя}/bitrix/cache/css/{ид сайта}/{имя шаблона}/styles.css
можно увидеть много классов ядра с префиксом bx- и прочего...
неплохо было бы вынести этот css в отдельный файл, а также добавить возможность его подключения/неподключения, т.к. для некоторых пользователей этот код совершенно не нужен...
Рейтинг: 21.2103  
Внедрено
Предложил Пользователь 90886 20.07.2012 08:53:41

Тег <noindex>

Последние годы всегда верстаю свои сайты, периодически поглядывая на галочку валидации, т.е. шаблон для Битрикса всегда валидный.
Так сайт и работает, публичная часть полностью валидна.
Но в какой-то момент вместо галочки появляется крестик, указывающий на ошибку валидации. Причина - тег <noindex>.
Поэтому предлагаю избавиться от него, но без потерь: этот тег нужен только для отмены индексации контента Яндексом, но Яндексом-же предложена валидная альтернатива: <!--noindex-->...<!--/noindex-->.
Предлагаю доработать визуальный редактор (сейчас он позволяет заключать ссылку в тег <noindex>), и затем уже - в остальных местах (шаблоны компонентов). Думаю, работы там не очень много :)
Рейтинг: 17.9647  
Внедрено
Предложил Пользователь 25773 17.07.2012 12:39:34

События в модуле обучения

Мы сделали сайт для ВУЗа. На сайте регистрируются пользователи, которые записываются на курс обучения и сдают тесты.

Требуется отправлять преподавателю этого курса сообщение, что студент сдал тест.

В модуле "обучение" событий вообще нет.

Необходимы события, что пользователь сдал тест и, что пользователь получил сертификат.
Рейтинг: 0  
Ответил Басыров Роберт 04.12.2012 15:57:13
События добавлены. В документации будут чуть попозже.

Добавлены события на создание, изменение, удаление уроков, на добавление, изменение, удаление студентов, добавление/изменение/удаление тестов и добавление/изменение/удаление сертификатов.

Список:
CAllCertification::Add():
OnBeforeCertificateAdd
OnAfterCertificateAdd

CAllCertification::Update():
OnBeforeCertificateUpdate
OnAfterCertificateUpdate

CAllCertification:: Delete():
OnBeforeCertificateDelete
OnAfterCertificateDelete


CLearnLesson::Add():
OnBeforeLessonAdd
OnAfterLessonAdd

CLearnLesson::Update():
OnBeforeLessonUpdate
OnAfterLessonUpdate

CLearnLesson:: Delete():
OnBeforeLessonDelete
OnAfterLessonDelete


CStudent::Add():
OnBeforeStudentAdd
OnAfterStudentAdd

CStudent::Update():
OnBeforeStudentUpdate
OnAfterStudentUpdate

CStudent:: Delete():
OnBeforeStudentDelete
OnAfterStudentDelete


CTest::Add():
OnBeforeTestAdd
OnAfterTestAdd


CTest::Update():
OnBeforeTestUpdate
OnAfterTestUpdate

CTest:: Delete():
OnBeforeTestDelete
OnAfterTestDelete