Вопрос был как лучше получить нужную часть кода из конкретного twig-файла. Нужно выдернуть часть шаблона из category.twig, а именно ту часть, где идет вывод товаров в цикле.
Конечно, я могу сделать стандартно, как обычно все делают, шаблон модуля сверстать под тему дефолт и потом адаптировать его под каждую тему вручную. Но можно же это упростить, почему вы называете это костилем? В новой четвертой версии это уже реализовали на уровне движка.
Генерирование шаблона при изменении темы - не проблема, вариантов много как это реализовать автоматически, можно без ocmod через ивенты, но я действительно написал самый простой вариант "отключить-включить", потому что изменение шаблона сайта это не ежедневная операция и обычно устанавливают шаблон, а потом модули. Но вы правы, что идеально будет, когда при изменении шаблона сайта будет автоматически обновляться шаблон модуля.
Сохранять путь к сгенерированному шаблону в БД не вижу смысла, так как название текущего шаблона можно получить из настроек сайта, а название файла и его размещение внутри шаблона будет одно и то же для всех шаблонов. Видимо, вы не правильно поняли чего я хочу добиться в итоге. Я хотел бы, чтобы товары в модуле выглядели как и товары в других частях темы, например в категории, без ручной адаптации верстки.