Hi Thomas,
I think you got it right, but the current implementation of the xml module doesn't help you. The glue is that not all parameter type support fallback value.
A parameter has 4 different properties (here explained in the context of the data source)
Name |
Name of the parameter, used as name of the querystring parameter to access the data by url |
required |
(boolean) If no value can be retrieved, no http request will happen |
Data origin |
The source of the parameter |
(unnamed) |
Depends on the data origin!:
- Static Value: the value of the parameter
- pass through query string, pass through form and custom user property acts like the x in a function f(x) = y
For a passthrough query sting this is the name of the querystring parameter of your DotnetNuke page
- portalId, moduleId, tabname,...: not needed, therefor not visible, these data origins will return everytime a value
- user's city, fax....: they might be null or empty, so you can decalre a fall back value
|
So fall back values are not supported for your scenario.
Saying that I might point to the advanced settings: The last paragraph allows you to enable/disable xsl modules based on querystring values! This offers the ability to communicate between different xsl modules on one page.
So you add an xml/xsl module and that up the following querystring parameter:
Name: "filter", required=true, Data origin =querystring pass through, (unnamed) = "MyFilter"
The http request of this will only execute if the url of your dnn site has a parameter MyFilter=SomeThing. otherwise it will return <noData cause="Parameters"/> as xml. You can write your stylesheet that it will return no content at all!
Now add a second module, and set it up the same way as the one before. But now you define the querystring parameter name on a different way:
Name: "filter", required=true, Data origin =static value, (unnamed) = "6"
in advanced settings you will set: Query string parameter= "MyFilter", Query String value=""
The result is that you have 2 modules on your page. The first one will fire if you have the query string parameter "myFilter", the second one only if it is missing or has an empty value.