Рейтинг: 4.2223  
На голосовании
Предложил Пользователь 104137 12.10.2017 22:16:45

Вёрстка шаблонов почтовых событий в файлах

Редактирование шаблонов почтовых событий без подсветки и в браузере - сущий ад. Новая фишка с почтовыми шаблонами особо не спасает.  При командной разработке работать с событиями приходится через миграции, а проблем и без них хватает.

Предлагаю вынести вёрстку шаблонов почтовых событий в файлы и для обратной совместимости использовать оба варианта. к примеру, организовать хранение можно как /local/mail_templates/event_type/mess_id.php при этом нужно подумать как там организовать доступ к переменным, в .т.ч. глобальным. И при создании почтового события делается проверка на существования файла, если есть он включается, если нет - берётся тело шаблона из базы. Или хотя бы подсветку синтаксиса дайте при редактирjвании в формате html.

этот подход позволит сохранить совместимость со старыми проектами и даст вектор развития новой системе шаблонов. Удобно их хранить и главное не будет проблем с CVS.

такое ощущение что про основные модули уже забыли, постоянно развивают именно интернет магазин. Некоторые болячки тянутся годами которые постоянно раздражают. Развитие и новые фишки безусловно нужны, но вы хотя бы другие модули в порядок приведите.  
Рейтинг: 3.3344  
На голосовании
Предложил Пользователь 390462 19.12.2016 00:12:58

Разобраться с ошибками в коде (notice, warning etc)

Пытался на днях мониторить систему. Это ж капец, на 1 хит 127 уникальных ошибок (notice, warning). Невозможно включить отлов warning, notice. Они все утонут в битриксе. Конечно, можно делать поиск по ссылкам на свои скрипты, но это не вариант.

1

Выставил

'handled_errors_types' => E_ALL ,
Рейтинг: 0.0377  
Новая
Предложил Пользователь 25773 03.02.2016 17:43:43

Суперагенты

Некоторые долгие задачи, такие как парсеры, выгрузки и бэкапы мы вешаем на крон.

Крон настраивать - занятие неблагодарное. Приходится перенастраивать, когда сайт переносишь на новый хостинг. Легко что-нибудь забыть. Гораздо проще когда есть агенты, которые на кроне.

Особо длинные агенты нельзя вешать на хиты.

Но можно доработать функционал агентов:

Добавить в агенты колонку "выполняется только на кроне" Y/N

Агент, который должен выполняться только на кроне, не будет запускаться на хитах.

В проверку системы следует внести тест:
- есть активные агенты, которые должны запускаться только на кроне. Показывать ошибку (красным) и рекомендовать настроить агенты на кроне.
Рейтинг: 13.702  
На голосовании
Предложил Пользователь 94579 23.06.2015 13:26:58

Расширение "Проверка сайта"

Столкнулись с проблемой у клиента - не работает композит.
"Проверка сайта" проходит успешно, НО при этом не проверяется:
  1. Версия PHP
  2. Версия Акселератора (стабильная, dev итд итп)
  3. И не проверяется тип Веб-сервера (у нас оказался LightSpeed)
  4. наличие Suhosin (который не рекомендуется)
То-есть смотришь — все должно работать, а по факту:
PHP 5.6 - не поддерживается
ZendOpCache - нестабильной версии


а также - сервер LightSpeed, хотя в требованиях Битрикса фигурирует Apache не ниже 1.3
Туда-же проверку на suhosin который не рекомендуется.
Рейтинг: 32.7615  
На голосовании
Предложил Пользователь 71426 03.04.2015 13:27:05

Учесть поле SORT при сортировке записей urlrewrite

Добавить 4 строки в файл  /bitrix/modules/main/classes/general/urlrewriter.php
в начало функции __RecordsCompare
$sort_a = intval($a["SORT"]) ?: 100;
$sort_b = intval($b["SORT"]) ?: 100;
if ($sort_a > $sort_b) return 1;
elseif ($sort_a < $sort_b) return -1; 
Таким образом будет учитывать поле SORT при сравнении записей,
если поле SORT одинаковое, будет работать старый алгоритм.


Это нужно для того чтобы можно было задать строгий порядок записей в urlrewrite и не возникало проблемы перетасовки правил в urlrewrite.php
Рейтинг: 0.353  
На голосовании
Предложил Пользователь 18568 19.03.2015 14:05:40

Быстрый переход к определению функции/класса

Предлагаю добавить возможность при просмотре файла средствами Битрикс делать быстрый переход к определению функции или класса, как это реализовано в PhpStorm.

Зачем нужно:
[LIST=1][*]Далеко не все используют IDE, в связи с этим мотивация лазить по коду с целью изучения исходников весьма низкая, т.к. без IDE это очень трудоемкий процесс.[*]У тех, кто использует IDE, не всегда есть возможность/желание создавать проект только ради того, чтобы с бОльшим комфортом докопаться до источника проблемы.[*]Битрикс лучше всех знает собственную архитектуру, поэтому не возникнет проблем с поиском точки, из которой подключается данный компонент или вызывается функция. Иногда приходится перебирать кучу мест, чтобы определить истинную точку подключения шаблона или компонента.

Читать подробнее...

Рейтинг: 32.7491  
На голосовании
Предложил Пользователь 94272 09.01.2015 22:51:24

Добавить события в ядро на объединение CSS

Стандартная оптимизация хороша, но есть идеи как можно сделать еще лучше, для этого необходимо событие (после объединения CSS в один файл) в этом файле:
/bitrix/modules/main/lib/page/asset.php
После 2001 строки:
foreach (GetModuleEvents("iblock", "OnAfterCssUnion", true) as $arEvent)  
ExecuteModuleEventEx($arEvent, array(&$tmpStr));


Моя идея оптимизации CSS заключается в минификации CSS и замене маленьких картинок на base64.
Но имея такое событие другие разработчики могли бы реализовать и свои идеи.

Рейтинг: 1.4102  
На голосовании
Предложил Пользователь 25773 26.11.2014 18:12:55

Почтовые шаблоны по умолчанию. Без них не могу добавлять второй сайт

При создании дополнительного сайта столкнулся с огромной проблемой. Где взять нормальные шаблоны для писем?

На первом сайте предыдущий программист половину шаблонов удалил, а оставшиеся отредактировал. Как я могу скопировать его шаблоны к себе во второй сайт? Где мне взять нормальные стандартные шаблоны?

Если я никакие почтовые шаблоны не создам, то никакие письма отправляться не будут.

При создании сайта хочу вариант: "создать новые почтовые шаблоны для сайта"




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

Битриксу надо всего-лишь в каждом модуле в файле /install/index.php добавить метод, например,

iblock::CreateEventTemplates($site_id);
vote::CreateEventTemplates($site_id);
askaron_mailmanager::CreateEventTemplates($site_id);

который создаст почтовые шаблоны для конкретного сайта.

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

В настоящее время я не знаю, как создать второй сайт без проблем.

------

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

Если добавить параметр:
iblock::CreateEventTemplates($site_id, $bUpdateIfExists);

то и удалять не придется. Достаточно будет сделать кнопку, которая пройдет по всем модулям и обновит шаблоны писем на более новые. Или обновит шаблоны писем конкретного модуля.
Рейтинг: 20.4553  
На голосовании
Предложил Пользователь 25773 14.07.2014 20:13:21

Сколько времени открывается сессия?



Частая ситуация, когда сайт тормозит и непонятно почему. Висит пролог, а не запросы.

Что если сейчас где-то кто-то другой тормозит?

Есть смысл показывать в отчете время открытия сессии, там где Пролог -> Ядро.

Там же есть смысл выводить, сколько времени работает запись в веб-аналитику.
Рейтинг: 16.1747  
На голосовании
Предложил Пользователь 30180 04.04.2014 16:28:56

Восстановление ядра

Неоднократно сталкивались с такими проблемами, как взлом сайта. При этом злоумышленники встраивают свой код в ядро. Обычно в файлы, которые грузятся на всех страницах.
Сканнер на модификации ядра обычно показывает это сразу. Код можно вырезать (если найдешь, ведь не показывается что именно модифицировано).
Причины проникновения, конечно, определять тоже можно разными средствами.

Бывает еще так, когда изменения делают программисты-грешники,  любящие сунуть ручки в ядро. Тут вообще отследить изменения практически невозможно. Лишь ждать, пока выйдет какое-нибудь обновление, перезапишущее данный файл.

Но хотелось бы иметь кнопочку "Восстановить ядро", которая будет тянуть с сервера конкретное ядро продукта. По версиям модулей.
Рейтинг: 24.2066  
На голосовании
Предложил Пользователь 124883 21.03.2014 16:48:21

Добавить в тест проверки модифицированности ядра информацию о недостающих и лишних файлах

В данный момент проверяются только существующие файлы ядра, но бывает, что по каким-то причинам в ядре не хватает файлов и тогда тест ничего не скажет по этому поводу.
Хотелось бы при прохождении теста получать информацию о недостающих файлах ядра и, желательно, о лишних (это бы позволило находить вирусы и различные бэкдоры).
Рейтинг: 7.8006  
Внедрено
Предложил Пользователь 214389 08.11.2013 11:09:19

Сделать привязку определенных свойств в определенные категории.

Когда задаем на разных категориях разные свойства их количество увеличивается.
И когда общее количество свойств категории в одном инфоблоке превысило 2000 - сайт начал очень медленно работать. Некоторые страницы открываются за 5-10 секунд.

Когда хотим изменить элемент в категории "Пылесосы" открывается весь список свойств. Там кроме свойств пылесосов есть и те которые не относятся к пылесосам - свойства ноутбуков, книг,  и т.п. .

Заметил, что в категориях и в элементах есть массив $arResult и его подмассив свойств PROPERTIES.
Полагаю что сайт зависает из-за обработки большого количества свойств.

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

[ 1С-Битрикс: Управление сайтом 12.5.11 ]
Рейтинг: 0  
Ответил 21.04.2014 18:22:24
Решено в 14 версии, можно задавать те свойства которые нужны определенному разделу