Посмотрел сейчас, в коде catalog.section принудительно прописано "ACTIVE_DATE" => "Y". Тогда быть способу от Дениса. Только опцию поставить "Кешировать при установленном фильтре", иначе кэш работать не будет
Денис Сон написал: Если вы используете компоненты типа "Новости" (напр., bitrix:news.list), то в них есть опция-галочка "Показывать только активные на данный момент элементы", которая полностью решает поставленную задачу Она применяет параметр фильтра ACTIVE_DATE => Y.
Вижу простой вариант если использовать компонент news.list: опция "Показывать только активные на данный момент элементы". На главной включена, в каталоге выключена. Используются поля даты начала и окончания активности.
этот метод избавит от дублей в поисковой выдаче, физически дубли останутся. В последних версиях поддержка мета-тэга canonical включена в компонент catalog
$rs = CIBlockElement::GetByID(ID_элемента);
if ($rsElement = $rs->GetNextElement()) {
$prop = $rsElement->GetProperty("код свойства или ID");
$prop["VALUE"];//тут будет значение свойства
}
если отсекать все символы и пробелы из запроса, то возникнут другие проблемы. Можно, как вариант, создать индексируемое свойство в котором хранить IVP-250/PJ без спецсимволов и пробелов