В этом варианте не надо делать никаких привязок. Делаете независимые свойства "город" и "район" (все города и все районы). Заполняете у элементов тоже как два независимых поля.
Чисто ради удобства, можно сделать свойство "районы" ссылкой на элементы инфоблока, и в инфоблоке-справочнике разложить районы по папочкам с названием городов, тогда это будет проще заполнять, но привязкой в полном смысле это не будет.
У умного фильтра такая механика, что когда вы выбираете город, он отфильтровывает элементы по городу , выбирает у них все используемые значения свойства "район" и показывает только их*.
Как я уже писал, этот вариант самый неудобный для администрирования (т.к. связи между городами и районами на самом деле нет, их надо соблюдать вручную), сильно ограниченный (работает только с компонентом catalog.smart.filter), зато самый простой в реализации.
* На самом деле, там не полная выборка, а специально для этого заранее набитый фасетный индекс, но сути это не меняет.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.