А что если привязку модулей делать к компоненту и переменным. Например добавить в админкаталог компонента xml-файл с перечнем доступных переменных. Тогда с компонентами ничего не надо будет мудрить + сами пользователи смогут расширять этот перечень, что делает привязку довольно гибкой. Причем в настройках модуля дать возможность привязывать не только в общем к переменной, а и к ее конкретному значению, или даже диапазону.
Да и привязку модуля хотелось бы иметь двух типов: только для этих значений, только НЕ для этих значений.
Мысль очень интересная, вот-бы развить ее до алгоритма. Например:
1. XML у нас уже есть, достаточно в нем сделать дополнительную секцию. В ней, даже лучше в древовидном виде (если они зависимые) прописать переменные урл и их допустимые значения/диапазоны значений.
2. При установке компонента эта секция копируется в общий файл/базу для ускорения обращения к этим данным во время работы.
3. В админке для привязки модулей просто выводим эти данные слегка отформатированные в форму выбора.
4. На фронте переменные урл просто сравниваются с файлом/базой настроек и в соответствии с ними выводятся нужные модули.
Вот примерно так.