Рейтинг: 1.7355  
На голосовании
Предложил Пользователь 316584 23.08.2016 15:47:31

В БУС в выпадающем меню компонента в режиме правки добавить пункт "Редактировать JS-файл компонента".

Сейчас, если в публичной части сайта на "Битрикс Управление Сайтом" в режиме правки навестись на компонент, то выпадет менюшка действий с компонентом, в том числе вот эти пункты:
Копировать шаблон компонента
Редактировать шаблон компонента
Редактировать CSS-файл шаблона
Обновить кеш компонента
Отключить компонент
Современные (особенно визуальные) компоненты зачастую содержат, кроме php и css, ещё и javascript-файл. И вот его невозможно отредактировать аналогичным образом через режим правки - только через структуру каталогов или вообще FTP.

Было бы удобнее, если бы добавили пункт "Редактировать JavaScript-файл шаблона".
Рейтинг: 8.5833  
На голосовании
Предложил Пользователь 176001 05.06.2016 15:18:28

Модули, как целостная подсистема

Сделайте модули модулями — целостной подсистемой, после подключения которой не нужно раскидывать по всему сайту файлы с компонентами, картинками, шаблонами и пр. Модуль, с точки зрения разработчика, должен быть прост в установке и обновлении.

Структура модуля могла бы быть такой:
vendor.module/ 
   admin/ 
   lib/ 
   components/ 
   templates/ 
Итого:
  • разработчику модуля не нужно при выпуске очередного обновления, например, компонентов, писать апдейтер, который будет копировать файлы из модуля в bitrix/components/vendor;
  • все ресурсы модуля находятся в модуле.
Ограничение накладывает работа со статичными ресурсами: JS, CSS, изображения и т. п. Решить это можно через менеджер статики, который будет автоматически собирать статику.
Рейтинг: 5.4458  
На голосовании
Предложил Пользователь 210907 31.03.2016 22:10:09

Магазин на нескольких валют

:!: Необходимо сделать встроенный модуль или компонент выбор валюты на сайте, для платформы интернет магазина 1С-Битрикс, как у много других специализированных платформ как MAGENTO, PRESTASHOP или CS-Cart. Это очень важный и необходимый часть для специализированных платформ интернет магазина
Рейтинг: 0.742  
На голосовании
Предложил Пользователь 214718 29.03.2016 18:05:16

На всем стоке.. html теги отображаются "безопасно"

Да исправляется легко(htmlspecialchars_decode).. но надоело! ИДЕЯ для исправления - многие клиенты жалуются



Рейтинг: -1.1876  
На голосовании
Предложил Пользователь 214718 10.03.2016 08:58:46

Предлагаю начать писать код однотипно!

Постоянно встречаю в стандартных компонентах треш-код
Не каждый редактор понимает  :

if(): 
else: 
endif; 
    
foreach():  
endforeach;  
 


Предлагаю писать код в доступном для всех виде
if(){  
}else{ 
}  
 
foreach(){ 
}
 
 
Так же прошу соблюдать  пункт в мониторинге качества как "Определены и соблюдаются правила оформления кода"

Код пишем ступенчато, а не абы как.
Рейтинг: 0.2492  
Ответил 10.03.2016 15:33:05
Простите не хотелось вас обидеть, но предлагаю прочитать книгу:

PHP5 полное руководство, страница 41-42

Первая часть предложения думаю отпадет сама собой.

Вторая же часть очень сильно зависит от вашей IDE или того в чем вы открываете код.  
Рейтинг: 0.5179  
На голосовании
Предложил Пользователь 35052 15.02.2016 16:22:21

добавить поддержку шаблонов по умолчанию - default без точки

Сейчас шаблоны по-умолчанию в компонентах называются ".default".

Во-первых файлы с точкой это скрытые файлы в linux.
Во-вторых для sass например такие папки пропускаются.

Было бы отлично добавить еще поддержку папки default - без точки.
Хотя бы опционально (может в виде настройки в бекофисе - название шаблонов по-умолчанию).

Или искать сверху вниз - если есть default то подключаем его, дальше ищем ".default"
Рейтинг: 0.6111  
Новая
Предложил Пользователь 26593 20.11.2015 12:08:13

Создание групп свойств компонента из шаблона

В параметрах компонента мы можем задать группировку свойств:

$arComponentParameters = array(
   "GROUPS" => array(
      "PARAMS" => array(
         "NAME" => GetMessage("IBLOCK_PARAMS"),
         "SORT" => "200"
      ),
      "ACCESS" => array(
         "NAME" => GetMessage("IBLOCK_ACCESS"),
         "SORT" => "400",
      ),
      "FIELDS" => array(
         "NAME" => GetMessage("IBLOCK_FIELDS"),
         "SORT" => "300",
      ),
      "TITLES" => array(
         "NAME" => GetMessage("IBLOCK_TITLES"),
         "SORT" => "1000",
      ),
   ),
... 
А в параметрах шаблона можно задать только сами параметры.
Было бы удобно иметь возможность задавать и группы в файле <путь к шаблону>/.parameters.php
Нужно добавить пять строчек в файл bitrix/modules/main/classes/general/component_util.php [466]:

      if ($templateProperties && is_array($templateProperties))
      {
         /* Добавить */
         if(is_array($arComponentParameters["GROUPS"]))
            $arComponentParameters["GROUPS"] = array_merge ($arComponentParameters["GROUPS"], $templateProperties["TEMPLATE_GROUPS"]);
         else
            $arComponentParameters["GROUPS"] = $templateProperties["TEMPLATE_GROUPS"];
         unset($templateProperties["TEMPLATE_GROUPS"]);
         /* эти пять строчек */ 
            
         if(is_array($arComponentParameters["PARAMETERS"]))
            $arComponentParameters["PARAMETERS"] = array_merge ($arComponentParameters["PARAMETERS"], $templateProperties);
         else
            $arComponentParameters["PARAMETERS"] = $templateProperties;
      }
 
Рейтинг: -0.3645  
На голосовании
Предложил Пользователь 215992 05.11.2015 18:54:54

Добавлять в HTML комментарии к вызовам компонентов

Добавлять в  HTML комментарии к вызовам компонентов, чтобы можно было разобраться где какой компонент может, например, содержать ошибки в верстке.
Рейтинг: 25.0256  
На голосовании
Предложил Пользователь 390462 27.10.2015 14:19:06

CBitrixComponent добавить свойство application

Раз переходим к ООП, пусть у компонента будет доступно свойство $APPLICATION, которое заменит global $APPLICATION в методах.

И наверно в модули тоже можно.

Dependency injection.
Рейтинг: 3.2655  
На голосовании
Предложил Пользователь 109495 01.10.2015 09:22:01

FILTER_NAME для детальной новости, товара

,Стоит добавить параметр FILTER_NAME в news.detail и catalog.element, по аналогии с catalog.section - чтобы можно было задать дополнительные фильтры на детальной странице товара. На данный момент, если нужно скрыть товары из каталога по сложной логике, требуется сделать GetList-фильтр для catalog.section, а в result_modifier, template, component_epilog детальной страницы писать дополнительный запрос/анализировать $arResult элемента. Оба варианта плохи - в первом случае будут дополнительные запросы, а во втором потребуется переписать код GetList-фильтра (дублирование кода)

Пример:
$GLOBALS["arrFIlter"] = array("PROPERTY_HIDDEN" => "Y");

result_modifier.php, template.php

if ($arResult["PROPERTIES"]["HIDDEN"]["VALUE"] == "Y")
{
// Заморочки с организацией 404-ой страницы.
}