Многомерная клавиатура aiogram
Прошу строго не судить. Стоит задача, написать собственный магазин, недолго подумав решил внедрить многомерную инлайн-клавиатуру, в котором пользователь по нажатию на определенную кнопку, будет получать список товаров, в 1 такой странице 10 товаров, снизу 3 кнопки "На последнюю страницу" "Назад в меню" "Следующая страница".
Заранее скажу что есть определенные списки, price, product_name, quantity
В каждом из них содержится своя информация.
Проблемой заключается в моём не понимании как реализовать правильно данную клавиатуру. Добавлять кнопки путем копирования функций каждый раз, думаю не правильным методом. Да и передача из списков значений тоже является не удобным занятием, так как в списке более 100+ наименований будет простым запутаться в коде.
InlineKeyboardButton(
text=f"{price[0]} ({product_name[0]}) {quantity[0]}",
callback_data='q'
)
InlineKeyboardButton(
text=f"{price[1]} ({product_name[1]}) {quantity[1]}",
callback_data='q1'
)
InlineKeyboardButton(
text=f"{price[2]} ({product_name[2]}) {quantity[2]}",
callback_data='q2'
)
Есть ли какие либо удобные решения для реализаций данной идеи? Пример генератора клавиатур? Если можно пример какой либо, чтобы иметь понимание в будущем. Либо источник/видео/статья где можно более подробно ознакомиться.
PS. Использую списки для начала, в будущем подключусь к БД. Заранее благодарю, за направления!
UPD. Нашёл для аиограма, библиотеку aiogram_dialog, оставлю здесь, может кому пригодится.
https://aiogram-dialog.readthedocs.io/en/latest/overview.html
https://github.com/Tishka17/aiogram_dialog