Для этого есть много вариантов:
1. Частичные представления. Просто, но логику надо писать внутри разметки, либо выносить наружу.
2. Html - хелперы.
3. Tag - хелперы.
4. View Component. Если требуется что-то с более сложной логикой, чем просто разметка, то лично я использую этот способ. Почитать за него можно
тут.