Нет. Вам нужно
1) написать свой компонент, который будет формировать так называемый внешний фильтр,
2) разместить вызов этого компонента на странице до вызова компонента показа новостей,
3) проследить за тем, чтобы имя внешнего фильтра совпадало в настройках вашего компонента и компонента показа новостей.
Простейший компонент, состоящий из формы со строкой поиска по тексту, мог бы выглядеть так:
.parameters.php:[CODE]<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
"GROUPS" => array(
),
"PARAMETERS" => array(
"FILTER_NAME" => array(
"PARENT" => "DATA_SOURCE",
"NAME" => 'Имя массива со значениями фильтра',
"TYPE" => "STRING",
"DEFAULT" => "newsFilter",
),
),
);
?>[/CODE]
component.php:[CODE]<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
// 1. Разбор входных параметров
$arParams['FIND'] = trim($arParams['FIND']);
if(strlen($arParams['FILTER_NAME'])<=0|| !preg_match('/^[A-Za-z_][A-Za-z01-9_]*$/', $arParams['FILTER_NAME']))
$arParams['FILTER_NAME'] = 'newsFilter';
$FILTER_NAME = $arParams['FILTER_NAME'];
global $$FILTER_NAME;
$$FILTER_NAME = array();
// 2. Показ формы
$this->IncludeComponentTemplate();
// 3. Формирование внешнего фильтра
if (strlen($arParams['FIND']))
${$FILTER_NAME}['DETAIL_TEXT'] = '%'.$arParams['FIND'].'%';
?>[/CODE]
template.php:[CODE]<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();?>
<fo rm action="">
Поиск по тексту:
<input type="text" name="FIND" value="<?=htmlspecialcharsEx($arParams['FIND'])?>">
<br><button>Найти</button>
</form>
[/CODE]
1) написать свой компонент, который будет формировать так называемый внешний фильтр,
2) разместить вызов этого компонента на странице до вызова компонента показа новостей,
3) проследить за тем, чтобы имя внешнего фильтра совпадало в настройках вашего компонента и компонента показа новостей.
Простейший компонент, состоящий из формы со строкой поиска по тексту, мог бы выглядеть так:
.parameters.php:[CODE]<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
"GROUPS" => array(
),
"PARAMETERS" => array(
"FILTER_NAME" => array(
"PARENT" => "DATA_SOURCE",
"NAME" => 'Имя массива со значениями фильтра',
"TYPE" => "STRING",
"DEFAULT" => "newsFilter",
),
),
);
?>[/CODE]
component.php:[CODE]<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
// 1. Разбор входных параметров
$arParams['FIND'] = trim($arParams['FIND']);
if(strlen($arParams['FILTER_NAME'])<=0|| !preg_match('/^[A-Za-z_][A-Za-z01-9_]*$/', $arParams['FILTER_NAME']))
$arParams['FILTER_NAME'] = 'newsFilter';
$FILTER_NAME = $arParams['FILTER_NAME'];
global $$FILTER_NAME;
$$FILTER_NAME = array();
// 2. Показ формы
$this->IncludeComponentTemplate();
// 3. Формирование внешнего фильтра
if (strlen($arParams['FIND']))
${$FILTER_NAME}['DETAIL_TEXT'] = '%'.$arParams['FIND'].'%';
?>[/CODE]
template.php:[CODE]<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();?>
<fo rm action="">
Поиск по тексту:
<input type="text" name="FIND" value="<?=htmlspecialcharsEx($arParams['FIND'])?>">
<br><button>Найти</button>
</form>
[/CODE]