I’m using the classic Adalo editor (not the new Responsive Builder). On my
Product Card
screen, I have a
List
component (named “New_List”) that is filtered by three parameters: Color, Storage, and SimType. The filters work correctly — when I select parameters, the list shows the matching product variants.
I need the price (
VariantPrice
) and image (
ColorImage
) on the same screen to update based on the first item (
First Item
) of this filtered list. The problem: The list “New_List” does not appear in Magic Text when I try to bind the price and image to it. I can’t select
First Item → New_List → VariantPrice
through the regular Magic Text. What I’ve already tried:
Looked for the list in
Other Components
— it didn’t appear.
Renamed the list to a short Latin name (e.g.,
VarList
) and reloaded the page — didn’t help.
Tried using
SelectedVariant
(a field in
Users
with
Relationship
→
ProductVariants
) and updating it via
Update
in the screen’s
Actions
on load, but the list also doesn’t appear in the dropdown for values. My question: In the classic Adalo editor, how can I properly bind the price and image to the first item of a filtered list if the list isn’t visible in Magic Text? Is there some workaround I’m missing? For example, through hidden text fields or
This is a known limitation rather than something you are doing wrong. There is a clean way around it.
The reason “New_List” never shows up in Magic Text is that in the classic editor a List component is not itself a data source that other elements can read. Only components that are bound to a collection or to a logged-in user expose First Item and their fields. So the standalone Text and Image cannot see inside your list. Renaming it will never help for this reason.
Two ways to get what you want depending on how big your db would be:
Option 1: Bind directly to the collection, not the list. (better for scaling)
Instead of pointing the price and image at the list, point them at the ProductVariants collection with the exact same filters as your list.
Select your VariantPrice text, open Magic Text, and choose ProductVariants (All ProductVariants), not the list.
Apply the same three filters the list uses: Color equals selected color, Storage equals selected storage, SimType equals selected SimType.
Add a Sort so the ordering matches your list, otherwise First Item may differ from what the list shows on screen.
Then pick First Item, then VariantPrice.
Repeat the same steps for the image, ending in First Item, then ColorImage.
The key is that the filters and sort on the text and image must match the list exactly, so the “first item” is the same record the user sees at the top.
Option 2: Store the choice on the User, then read it back. (simpler fix for smaller database of users)
Your SelectedVariant idea works, the issue is just how it gets set.
Keep SelectedVariant as a relationship on Users to ProductVariants.
On the list item, add a tap action that runs Update Current User and sets SelectedVariant to Current Item (the variant in that row). This must come from a