Цитата |
---|
Игорь Шиловской написал: Не знаю актуально ещё кому, смог решить копированием компонента catalog.smart.filter и правкой файла class.php строка 623
было
Код |
---|
if ( $cache [ $PROPERTY_ID ][ $key ]) {
$value = $cache [ $PROPERTY_ID ][ $key ][ 'VALUE' ];
$file_id = $cache [ $PROPERTY_ID ][ $key ][ 'FILE_ID' ];
$sort = ( isset ( $cache [ $PROPERTY_ID ][ $key ][ 'SORT' ]) ? $cache [ $PROPERTY_ID ][ $key ][ 'SORT' ] : 0 );
$url_id = toLower( $cache [ $PROPERTY_ID ][ $key ][ 'UF_XML_ID' ];
}
|
сталоКод |
---|
if ( $cache [ $PROPERTY_ID ][ $key ]) {
$value = $cache [ $PROPERTY_ID ][ $key ][ 'VALUE' ];
$file_id = $cache [ $PROPERTY_ID ][ $key ][ 'FILE_ID' ];
$sort = ( isset ( $cache [ $PROPERTY_ID ][ $key ][ 'SORT' ]) ? $cache [ $PROPERTY_ID ][ $key ][ 'SORT' ] : 0 );
$url_id = CUtil::translit(toLower( $cache [ $PROPERTY_ID ][ $key ][ 'UF_XML_ID' ]), "ru" );
} |
просто добавил транслитерацию $url_id , решение для свойства Привязка к элементам в виде списка |
toLower в данном примере можно не использовать. CUtil::translit по умолчанию переводит в нижний регистр. Так же перед данной модификацией я бы посоветовал добавить $arParamsTranslit = array("replace_space" => "-"); и передавать его методу CUtil::translit третьим параметром - это нужно для замены пробелов и прочего. У меня фильтр не хавал пробелы(
И в новом шаблоне немного по другому
В методе fillItemValues находим switch($PROPERTY_TYPE) и в условии default $url_id = toLower($value); меняем на -
$arParamsTranslit = array("replace_space" => "-");
$url_id = CUtil::translit($this->cache[$PROPERTY_ID][$key]['UF_XML_ID'], "ru", $arParamsTranslit);