arraysize: 0
How to use Page Forms with #cr-parse-request
{{Special:RunQuery/FormNameHere}}
). Because Page Forms was not designed for third purposes in this way, there are a couple of additional instructions to follow to make things work.includeonly
tags) and optionally, uses a concise name. Here is why:
- Page Forms requires a template for the query results. Because we want to bypass standard behaviour, we need to prevent this template from returning any query results. This is only an issue when the
updateurl
parameter of#cr-parse-request
is set to true and the page is loaded with URL search parameters in place. All you need to do is provide Page Forms with an empty template. - Data submitted through Page Forms take the form
templatename[fieldname]
. Accordingly, the variables in our parser function would take the form{{{$templatename[fieldname]|}}}
. Nothing to worry about, but a short template name like Q would make for shorter variable names.
Page Forms may also replace the visible page title with Special:RunQuery
, even if you set query title
in the info tag to a different value. This appears to be a minor bug with the Page Forms extension itself, or at least in the release version you are using.
Example
The code:
<div class="row"> <div class="col-md-4">{{Special:RunQuery/Qpub standalone}}</div> <div class="col-md-8"> {{#cr-parse-request:<nowiki>{{Qpub |Phrase={{{$Q[Phrase]|}}} |Contr={{{$Q[Contr]|}}} |Type={{{$Q[Type]|}}} |Year1={{{$Q[Year1]|}}} |Year2={{{$Q[Year2]|}}} |Periodical={{{$Q[Periodical]|}}} |Sort={{{$Q[Sort]|}}} |Outro template=Qpub pagination |offset={{{$offset|0}}} |limit={{{$limit|50}}} }}</nowiki> |trigger=onsubmit |triggerid=pfForm |class=d-block |paginationid=cr-pagination |updateurl=true }} </div> </div>
Result: