Choose what to display in list details block, depending on whether field is filled in Airtable or not

Hi people.

I have a list of teaching resources that a user can click and run from within the app. They click a button from within the item in the list and get taken to another page.

In that page, I have a list details block (with the same data table as the list) and have added the features I want to show.

For some resources, what needs to be displayed is an embedded PPT (I’ve sorted that). For other resources, I want to display a single PNG (sorted that too), but for others I want to display a full external web page, but from within my page.

I have the embed code and added tried adding it as custom code, but then it always shows up, even if it has nothing to do with the resource that was clicked. No luck there.

I’ve tried adding all the possible features in the list details block but then I am left with large empty spaces if there is nothing in the Table for that field.

So my questions are:

  1. How can I set the list details block to only show content that is filled in the Table (and not leave big spaces if empty)

  2. How do I successfully embed a web page from within my list details page (only for those items that need it, as above)

Would appreciate the help!

Hey,

Why don’t you add a formula field to your airtable and place in there the embedded content that you want to show on your list-details page? Then if empty you define a short line to let the user know what is going on.

1 Like

I’m very new, so I apologise for being slow…

How would this work?

I make a formula field in my ‘resources’ table…and set the formula to do what exactly?

Then what do I do on my Softr page to make it work on the front end?

Try this,

Add a rich text field type on your table and paste in there the embed code of the page that you want to display.

  • Then go to softr studio
  • Add a list-details block
  • Enter your table initial config (data tab)
  • Then go to features tab add a new field ‘rich text type’
  • Point this field to your recently created richtext field on airtable.
  • Publish
  • Visit your app, visit the page, and make sure to add the airtable record id at the end of the URL to test.
  • Your embedded page should be displayed without trouble.

Will this work for embedding a web page from another site? An external url, I suppose. I don’t want to embed one of my own pages at this stage.

I’d also appreciate some advice about how to get an embed code from any webpage.

On your first reply about using a formula field, can you explain that a little more? As in which formula to use.

Will this work for embedding a web page from another site? An external url, I suppose. I don’t want to embed one of my own pages at this stage.

YES it will work, unless your source URL explicitly forbids embeding.

I’d also appreciate some advice about how to get an embed code from any webpage.

This is something that can vary from site to site, some of them offer snippets, some other will have to figure yourself.

On your first reply about using a formula field, can you explain that a little more? As in which formula to use.

Forget about this, start testing with a rich text field, instead of formula, it will be easier for you.

1 Like

Hi,

This isn’t working at all! I did all the steps, and nothing shows up. Just two " " with nothing in between.

Hi James,
How many resource types do you have? Three if I’m correct?
The only solution I see is creating three pages with the same list details and the same data source. When clicking on the button of the list page, users will be sent to the correct list details page according to the resource type.
The workflow (to be tested) would be ruled by two additional fields:

  • A single select field which will determine the resource type)
  • A formula field that will send to the correct page with the correct recordId

See screenshots of a possible Airtable table setup
Note that if the recordId must come from an other table, no problem. You will need the two tables linked + lookup field pointing to the recordId of the first table.
Then you will replace RECORDID() in the formula field by the newly created lookup field pointing to the right recordId


1 Like

This seems like it could work. I’ll give it a try later on today.

My concern is that when I’ve set that up, they still won’t embed properly on the list details page.

This morning, I was struggling to get anything embedded at all. It doesn’t seem to work with rich text, embed, or urls.

Would you mind helping me with the workflow for embedding the resource types?

Finally, is there a smart way of instantly creating a good embed code for a resource? I.e. I add the original file as an attachment in airtable, and a good embed code formulates next to it?

For embedding pages, can you try this one:

<iframe src="url of required page">
</iframe>

To design it a little better:

<iframe src="page url" height="200" width="300" title="Iframe Example"></iframe>

There might be responsive problems… But just test it.

Concerning PTT, you said you found a way? What is it?

So can these be input into a formula field so that I don’t have to do this manually for each resource? And if so, will the formula field be able to be embedded on softr?

PPT: I uploaded the PPT to my Powerpoint “web” the online version. It has an option to generate an embed code from there. It takes a lot of work though, as I’ll have a lot of PPTs to do this with.

Ok for the PPT, that’s what I was going to suggest. Even if you could automate this with Make or Zapier (but that would be a new setup to run and a new tool in the stack…)

Yes you can try it inside a new formula field.

You would have to test it to see if it works (I never tried it)

1 Like

So I could automate the embedding of PPT with Make or Zapier…as long as it would work on a free plan at the moment, I would give it a go. I just want to avoid having to put the PPTs on the online version. There must be a smart way of embedding PPTs nicely into a webpage!

I have an issue now…I am managing to embed the PPT (from code from PPT online) which is great…but…that is only when I run it from my “resources” table. This means users can launch the resource from a list of the resources…

I want my users to also be able to launch the resources from their playlist. I have that all sorted now with the action button workaround. They add a resource into their playlist to launch later on.

So now, when they open their playlist, this is a list generated from my “playlist” table in airtable. I have used lookup fields in my playlist table to get all the necessary info. All of it is wokring perfectly except the embed.

I think it is because for the PPT embed to work, the field needs to be a URL field. I have it set to URL in my “resources” table, but as the field in my “add to playlist” table is a look up field, it for some reason stops it being a url.

I wonder if I can have a formula field next to it that takes whatever is in that box and turns it into a url? If that’s possible…how?

You mean turning a PPT into a URL? Well, for this, it needs to be hosted in a cloud solution like google workspace with a shared public link.

It starts to become a hard use case… Sorry :sweat_smile:. I can’t have more time on it.

And I don’t think there could be a neat solution.
Just for an example: the size of the embed page won’t never be optimal, as it is, at the end, ruled by Softr height of the embed option. Or you succeeded in making it work perfectly?

Even if you succeeded in doing it, at the end, you would have a massive setup for just a design option.

Otherwise, you need to re-think the user experience to make it work with Softr (like having an embedded page, working inside Softr, is really necessary?) because it becomes a huge setup and huge load of work for not so much added value.

  • The PPT = needs to come from a public link. Or to make this resource a pdf an not a PPT, as Softr supports PDF

If @acjnas or @SonNguyen have a solution for this… Re-thinking the whole thing.

1 Like

Thank you so much for all your time on this!

You are right that it’s not worth such a huge investment. I would just rather the user ran the PPT from the page, rather than open it externally or download it.

I think if I can solve the thing that the lookup field can be formulated into a URL I can get it to work! I just don’t know how to do that.

Unfortunately I would say the opposite, as lookup fields are array values :woozy_face:.
But you can try this: add a formula field just next to the lookup field = just enter ‘https://’&{lookup field name} and click enter. See if it is recognized as a url now.

Of couse, for this to work, the lookup field must not have the https://

That’s a workaround I found in 2 minutes, maybe there are better ones


Capture

1 Like

Blimey, it worked!

It says http://, which isn’t ideal but I’ll take it for now.