Я тут придумал новый компонент, рекомендую его внести в стандратную поставку, так как он очень удобен. Вот код компонента:
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arResult = array();
if($this->StartResultCache())
{
$this->IncludeComponentTemplate();
}
// Примечание: на данный момент код компонента дополнен новыми фукнциями, последняя версия компонента лежит в архиве в конце поста.
?>
Для чего он нужен?
Пример жизненной ситуации: на страницу нужно добавить какой-нибудь простенький функционал, который надо программировать. Но создавать новый компонент (копировать в своё пространство, настраивать путь для дерева компонентов, придумывать название, описание, и тд.) - влом.
Тогда берем такой компонент, кидаем его на страницу, в файле result_modifier.php создаем нужную логику, и пишем свой шаблон. При желании несколько параметров можно вынести в настройки, создав в шаблоне файл .paramters.php.
Плюсы такого компонента: - Находится в стандратном дереве каталогом, доступен на любом сайте; - данные в файле result_modifier.php кешируется; - мы можем написать абсолютно нужную и быструю логику работы, без лишних запросов; - исключается криворукость контент-менеджеров, которые могут случайно удалить код со страницы. Удалять компоненту со страницы у менеджера рука обычно не поднимается, а если и удалит - легко её вернуть назад; - создание своего шаблона через веб-интерфейс (не нужно лезть по ssh и копировать компонент для кастомизации);
Вобщем, себе я такой компонент создал, вещь удобная и нужная. Особенно для таких ленивых как я.
В шаблоне уже созданы файлы result_modifier.php и файл .paramters.php с пустым массивом настроек, и закоментированным примером. При желании можно в него легко и быстро добавить свои параметры.
Эх, Иван! Я был бы прям признателен до безумия если бы Вы уделили еще немного времени и описали поподробнее принцип работы. Все еще не брался до сих пор за этот момент разработки в битриксе, т.к. компоненты - они кажется большие и сложные, а Ваш - маленький и простой, наверное) И если суть одинакова, могли бы Вы по пунктам объяснить про result_modifier, .parametrs и собственно сам код - как что куда откуда)
То есть мы выбрали все нужные новости, и запихнули их в $arResult. Благодаря этому, данные закешировались. Теперь в файле template.php мы их можем вывести как удобно.
Я сразу в файле писал номера инфоблоков, так как предполагаю что они у меня меняться не будут. При желании можно вынести некоторые параметры для настройки в файл .parameters.php в шаблоне, и настраивать их через веб-интерфейс.
По сути - это пустой компонент, в файле result_modifier.php создается нужный код компонента, и используется стандратный механизм кеширования, настройки параметров и шаблонов Битрикса.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».