Доброго времени суток, предполагая что проще всего это сделать с помощью JS на фронте, на беке лишь определить некую структуру данных, выделить её в какой то новый тип или написать небольшой плагин где эти данные будут управляться, и с помощью API отдавать на фронт, а там уже перерисовывать :D
Если принципиально сделать это на беке, то можно опять же как то организовать тип данных или написать плагин, и привязывать экземпляр ваших данных например к ссылке страницы, далее в шаблоне вытаскивать по привязке нужные данные вашего нового типа, и там уже рисовать, но честно говоря этот вариант мне нравится меньше. Красиво организованный интерфейс, плавно анимированный окажет куда более положительный эффект на пользователя как мне кажется.