Asset Listing: Specifying keywords dynamically?

I'm trying to create a reusable asset listing to show form submissions. As I have several forms, I want to be able to specify the asset ID of the form (as a GET parameter), and include the asset listing as a nest content and have it do the rest.


That works fine, but I want to be able to specify extra keywords to list, such as "%question_answer_1234_q1%". The problem is that these keywords are unique to each form, and I can't work out a way of specifying these without cloning each asset listing and creating a new one.



Has anyone got any thoughts as to how I might go about doing this without duplicating effort for each form I create?



Cheers!

Just had a thought:


[list=1]

  • Create a metadata schema with an arbitrary number of placeholder fields.
    [*]Apply a schema to each form, specifying %question_answer_1234_q1% keywords as the values.
    [*]List these metadata fields in the asset listing, which will get the values from the form.


    This way I can create a standardised sort of interface for my asset listing to look over, and anything that isn't filled in can probably be tested with ^blank.
  • This seems to work okay, but I can't work out a way of displaying the fields only if they've been specified in the metadata. Looking to do something like:


    %asset_metadata_CustomTitle^tagif:td asset_metadata_CustomValue%



    Essentially, if keyword exists, display another keyword and some HTML content, else do nothing.



    There's a bunch of comparison keywords (eq, gt, lt, etc) but is there a way to use the output of these in any meaningful way, or are they just for printing numbers to the page?

    I'm thinking aloud here, because I'm not sure if it's going to work, but I'm trying something like the following:

        
        
    %globals_get_assetId^as_asset:asset_metadata_CustomTitle^tagif:th% %asset_metadata_CustomValue^tagif:td%
    Date Username
    %asset_created_d%/%asset_created_m%/%asset_created_Y% %asset_created_by_name%


    Where asset_metadata_CustomTitle is either filled or blank. If it's filled, then asset_metadata_CustomValue contains a keyword such as %question_answer_41918_q1^empty:-%, which will also never be blank. This way there will never be an occasion where the title is filled but the value is blank (which would result in the wrong number of table columns.

    I'll update this as I go, save on posting a million replies to myself.

    That works nicely, except the %question_answer_41918_q1% keyword only applies when you manually cascade the metadata from the custom form to the form submissions.


    You can see what I've got so far below; it all works fine when I first cascade the metadata, but subsequent submissions are missing it.







    I guess I was expecting it to work like the "default" metadata value and propagate to all children. Is there a way to do something like this without having to create a metadata schema for each form?



    Cheers,

    Ash.



    [Edit] There are three ways I can see this working, and they're all terrible. I give up.