# Add information to virtual pages from API and combining with pages created in panel

**URL:** <https://forum.getkirby.com/t/add-information-to-virtual-pages-from-api-and-combining-with-pages-created-in-panel/20734>\
**Category:** Questions\
**Tags:** v3\
**Created:** [January 10, 2021, 10:25pm UTC](https://forum.getkirby.com/t/add-information-to-virtual-pages-from-api-and-combining-with-pages-created-in-panel/20734 "2021-01-10T22:25:59Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![tristantbg](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/tristantbg/32/9690_2.png) [@tristantbg](https://forum.getkirby.com/u/tristantbg)\
**Post date:** [January 12, 2021, 12:02am UTC](https://forum.getkirby.com/t/add-information-to-virtual-pages-from-api-and-combining-with-pages-created-in-panel/20734/7 "2021-01-12T00:02:11Z")

</div>

Have a look at this post I did a few months ago :

> [@Database demo, multi-language setup?](https://forum.getkirby.com/t/database-demo-multi-language-setup/17419):
>
> Thank you @texnixe for the Database demo : I am using it and it works very well but I would like to use it in a multilanguage setup. What are the best practices for that ? Something like that ? \<?php class CommentsPage extends Kirby\Cms\Page { public function children() { $comments = []; foreach (Db::select('comments') as $comment) { $comments[] = [ 'slug' =\> $comment-\>slug(), 'num' =\> 0, 'templ…

What I learnt from this technique: the `subpages()` function can be very slow with a lot of content and almost kill the back-end from loading.

---

_[View the full topic](https://forum.getkirby.com/t/add-information-to-virtual-pages-from-api-and-combining-with-pages-created-in-panel/20734)._
