DPL talk:Manual - DPL parameters: Controlling output format
Contents
- 1 Actual output examples
- 2 resultsfooter bug as parser function
- 3 mode=none
- 4 example code within the manual
- 5 Inserting spaces and comma in the output
- 6 Replace category lists
- 7 Compare the template field values??
- 8 replaceintitle
- 9 DPL and image gallery
- 10 tablerow-Like Parameter.
- 11 discussion board lookalike
Actual output examples
This page could do with actual output examples instead of showing just code... Also, how do I get a template's field value to show up as specified in the template (with wiki markup)? -Eep² 12:22, 26 July 2007 (CEST)
- I agree. But I would not like to have all the examples within the manaul page. We should take the way 'selfhtml' went. So there should be a new Category called 'DPL Manual Demo' or something like that. Each Demo sample should be memeber of that category. It should have a back ling to the manual. And of course the manual should have a link to the exampe ;-). Maybe one could even find a generic way to show the sourcecode of the example - this would be quite helpful.
- Gero 15:03, 26 July 2007 (CEST)
getting wiki markup
I do not quite understand the question from above. If you use the template substitution mechanism parameters will be expanded before they are passed to the "surrogate" template. If you use the {templatename}:xx syntax a primitive scanner will identify the position of the template call in the wiki text of the caller and it will return the wikitext it finds between the parameter name and the next '|'. This is enough in many cases, but does not work correctly if the parameter value itself contains another template invocation. Note: the parser was improved in 1.2.9 and now respects wiki syntax conventions.
- Gero 15:09, 26 July 2007 (CEST)
- Thanks but I'm not sure how this works. How can I get the wiki markup/syntax to be outputted in the list/table? How would I change the code below (see #resultsfooter bug as parser function)? -Eep² 10:36, 27 July 2007 (CEST)
- See http://www.tnlc.com/wiki/index.php?title=Comparison_table for what I'm trying to do. Template:game doesn't use templates but does have wiki markkup which I would like each field that appears in the comparison table to contain (that, in this case, links to the category of the same name). How do I do this? Obviously, if I pulled in this game template's fields, they would also categorize the comparison table into every category too, so I just need a way to add category links to each field in the DPL output (preferably also being able to use a template if desired). Is this possible?
- I see there is a %SECTION% parameter for secseparators but I don't see a %FIELD% for use with templates. Can this be added that will pull in the template field's contents and allow it to be wiki-formatted ([[%FIELD%]], [[:Category:%FIELD%]], etc) and, if specified, have escapelinks (or a relevant parameter like parse) to either strip the wiki markup or show (parse/whatever) it as it would be if the template field was in a normal wiki article (with wiki links, category designations, etc). If all of this is already possible with DPL, please tell me how. -Eep² 08:04, 27 July 2007 (CEST)
- I don't understand what you mean by "{templatename}:xx syntax"--I thought that was only for the includepage parameter? Why doesn't it work correctly if another template inclusion is in the parameter value?
- Also, is there a resultsfooter parameter? I'd like to create a "totals" row below the table of how many games there are but resolutsheader only seems to be able to appear above the table.
- Lastly, the edit page has a lot of "undefined" text that appears, trying to render non-existent edit buttons, probably. -Eep² 15:23, 26 July 2007 (CEST)
- I'm having this problem ever since I got SimpleForms to work. Do you know how you fixed it? -Eep² 12:04, 17 August 2007 (CEST)
- Disable mootools. Gero 12:13, 17 August 2007 (CEST)
Thanks for adding this, but I think I found a bug. On http://www.tnlc.com/wiki/index.php?title=Comparison_table I have these DPL declarations for tables:
<dpl> category=Games includepage={game}:year,{game}:genre,{game}:publisher,{game}:developer,{game}:engine,{game}:character mode=userformat ordermethod=title listseparators=\n{|order cellpadding=0 cellspacing=0 class=sortable border style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n !Game\n !Year\n !Genre\n !Publisher\n !Developer\n !Engine\n !Character,\n|-\n|[[%PAGE%]],,\n|} secseparators=\n| resultsfooter=Total games: %PAGES% </dpl> {{#dpl: category=Games |includepage={game}:year,{game}:genre,{game}:publisher,{game}:developer,{game}:engine,{game}:character |mode=userformat |ordermethod=title |listseparators=\n{¦cellpadding=0 cellspacing=0 border class=sortable style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n!{{cat|Games|Game}}\n !{{cat|Years|Year}} !!{{cat|Genres|Genre}} !!{{cat|Companies|Publisher}} !!{{cat|Companies|Developer}} !!{{cat|Engines|Engine}} !!{{cat|Player characters|Character}},\n¦-\n¦[[%PAGE%]],,¦} |secseparators=\n¦ |uses=Template:game |resultsfooter=Total games: %PAGES% }}
The parser function version displays the footer (plus a }) inside the last table cell while the parser extension version displays it correctly. -Eep² 10:28, 27 July 2007 (CEST)
- That is strange. Can you try adding \n as the first two characters in the footer? Gero 10:38, 27 July 2007 (CEST)
- Doing that results in a new line under the } and before "Total games: %PAGES%"--but the footer is still inside the last table cell (which should contain "Lara Croft", the name of the game's player character that appears in the DPL parser extension table version above. -Eep² 10:43, 27 July 2007 (CEST)
- Your table definition starts each item with a |-; try instead to put an initial |- at the end of the first part of listseparators (table headline) and then use the THIRD parameter to END each line with |-. Gero 10:59, 27 July 2007 (CEST)
- I don't understand what you mean. Can you edit the listseparators line here as to how you mean?
|listseparators=\n{¦cellpadding=0 cellspacing=0 border class=sortable style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n!{{cat|Games|Game}}\n !{{cat|Years|Year}} !!{{cat|Genres|Genre}} !!{{cat|Companies|Publisher}} !!{{cat|Companies|Developer}} !!{{cat|Engines|Engine}} !!{{cat|Player characters|Character}},\n¦-\n¦[[%PAGE%]],,¦}
- -Eep² 11:05, 27 July 2007 (CEST)
- see my modifications below. The main point, however, is probably that the LAST argument should start with \n. Maybe you change only this first and try if it works. You might also want to use the debugging trick I described in the FAQ document..
|listseparators=\n{¦cellpadding=0 cellspacing=0 border class=sortable style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n!{{cat|Games|Game}}\n !{{cat|Years|Year}} !!{{cat|Genres|Genre}} !!{{cat|Companies|Publisher}} !!{{cat|Companies|Developer}} !!{{cat|Engines|Engine}} !!{{cat|Player characters|Character}}\n¦-,\n¦[[%PAGE%]],\n¦-\n,\n¦}
Gero 14:24, 27 July 2007 (CEST)
- OK, this works, but I'm not sure why it's necessary since the parser extension works fine the other way. Ah well. Now, is there any way to add wiki markup/syntax to each cell? I'd like each cell to link to the category of the same name, for example. -Eep² 21:50, 27 July 2007 (CEST)
- Use surrogate templates, e.g. include={game}.dpl and do whatever you want in "Template:game.dpl". It receives all the parameters of the original Template:game plus %PAGE% and %TITLE%. This gives you more flexibility than the 'include={game}:paramNrOrName approach. Use the 'debug trick' from the FAQ if the result table looks weird. Gero 23:44, 27 July 2007 (CEST)
- I'm not sure what you mean by a surrogate template. I'd rather not have to create a different template that has the exact same values as the normal/regular template... Can't DPL just pull in the fields from the normal/regular template with an option to not strip their wiki markup (and also have a way to add wiki/HTML markup in a cell parameter, perhaps--or within listseparators like the table headers can)? -Eep² 05:22, 28 July 2007 (CEST)
- NO. Go and create the different template. Gero 08:45, 28 July 2007 (CEST)
- OK, but I don't see why a special DPL template is even necessary since it also includes wiki markup and duplicates the fields in the non-DPL template. Is it that hard to just pull out the fields from the non-DPL template and allow specialized wiki markup within the DPL parser function/extension as is done with formatting for lists, the table header, and even the table's first row's cell! I just don't get it...you even also allow special cell secseparators so why not a cell (or a general field) parameter for template parameters (+ a %FIELD% special/magic word--whatever, to pull in the current field--or maybe %TPARAM% for "template parameter") that allows wiki markup too? Just seems having to make another template is unnecessary and means having to maintain 2 templates instead of just one...plus the DPL function to designate the template fields (and the headers)... Ideally, a single template should be all that is necessary for DPL to pull in the table header/cell fields. Something like this:
{{#dpl: category=Games |includepage={game}:year,{game}:genre,{game}:publisher,{game}:developer,{game}:engine,{game}:character |ordermethod=title |listseparators=\n{¦cellpadding=0 cellspacing=0 border class=sortable style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n!{{cat|Games|Game}}\n !{{cat|Years|Year}} !!{{cat|Genres|Genre}} !!{{cat|Companies|Publisher}} !!{{cat|Companies|Developer}} !!{{cat|Engines|Engine}} !!{{cat|Player characters|Character}}\n¦-,\n¦[[%PAGE%]],\n¦-\n,\n¦} |secseparators= ¦¦ |field=[[:Category:%FIELD%|]] |uses=Template:game |resultsfooter='''Total games: %PAGES%''' }}
Or the %FIELD% could be in listseparators:
|listseparators=\n{¦cellpadding=0 cellspacing=0 border class=sortable style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n!{{cat|Games|Game}}\n !{{cat|Years|Year}} !!{{cat|Genres|Genre}} !!{{cat|Companies|Publisher}} !!{{cat|Companies|Developer}} !!{{cat|Engines|Engine}} !!{{cat|Player characters|Character}}\n¦-,\n¦[[%PAGE%]],\n¦-\n[[%FIELD%]],\n¦}
Or, more specifically, also allow pulling in the exact template fields for specific markup:
|listseparators=\n{¦cellpadding=0 cellspacing=0 border class=sortable style="border: 1px black; font-family: Tahoma; font-size: 8pt"\n!{{cat|Games|Game}}\n !{{cat|Years|Year}} !!{{cat|Genres|Genre}} !!{{cat|Companies|Publisher}} !!{{cat|Companies|Developer}} !!{{cat|Engines|Engine}} !!{{cat|Player characters|Character}}\n¦-,\n¦[[%PAGE%]] || [[{{{year}}}]] || [[:Category:{{{genre}}}]] || [[{{{publisher}}}|Different publisher]] || [[Wikipedia:{{{developer}}}|]] || [[{{{engine}}}]] || {{{character}}}\n¦-\n,\n¦}
Although, it might have to be {template}:field instead of {{{field}}} since multiple templates can be used which may have the same parameter/field names. -Eep²
I can't get this DPL template to work with the above code (substituting this for the includepage line):
|includepage={game}.dpl:year,{game}.dpl:genre,{game}.dpl:publisher,{game}.dpl:developer,{game}.dpl:engine,{game}.dpl:character
And I tried this too:
|includepage={game.dpl}:year,{game.dpl}:genre,{game.dpl}:publisher,{game.dpl}:developer,{game.dpl}:engine,{game.dpl}:character
Does the template extension work when specifying specific template parameters/fields to include? Also, it seems counterintuitive to require the ".dpl" outside the curly braces {} considering the template name is template:game.dpl not template:game.dpl. -Eep² 00:44, 29 July 2007 (CEST)
- You should ONLY write 'include:{game}.dpl', nothing else. Leave all the parameter stuff away. Have a look at the DPL source code if you want. Firthermore there a lots of examples on this website which demonstarte how it works. The line in "somearticle" (which we assume calls Template:game is changed in a way that it now calls Template:game.dpl. All the parameters are untouched and two more parameters added (%TITLE% and %PAGE%). To me this is the _most elegant way_ to handle this whole topic. The code in Template:game and Template:game.dpl typically is significantly different to justify keeping it int two different templates. If we wanted to offer variables for substitution we would need prefixes for the template name and the parameter name (or number). Imagine your article includes Template:game and Template:hardware and you wanted to construct output from some parameters of both of these templates ..
- 84.58.211.73 07:56, 29 July 2007 (CEST)
- I can imagine it quite easily, actually, and DPL should support it since it already supports multiple sections on different pages so why not multiple template fields on different templates? The "elegant" way seems like a
copoutcopout (you really ought to add the wikipedia: interwiki link to your MediaWiki database...) to me... -Eep² 08:04, 29 July 2007 (CEST)
- I can imagine it quite easily, actually, and DPL should support it since it already supports multiple sections on different pages so why not multiple template fields on different templates? The "elegant" way seems like a
mode=none
Seems like this parameter should not display any results. I'm trying to do just a page count of how many items are in a particular category: {{#dpl:category=Games|mode=none|resultsheader=(%PAGES%)}}. But this results in:
(3) Game 1 Game 2 Game 3
How do I get just a page count? -Eep² 22:23, 27 July 2007 (CEST)
- take mode=userformat and do not specify listseparators. That will produce no results. 'mode=none' is kind of a relict of ancient times ... Gero 23:38, 27 July 2007 (CEST)
- Doing that screws up bullets:
- DPL (5)
- And if I have a superscript after it, it messes up even more:
- I want the "(#)" to be in-line and not put blank lines after the output but, of course, that is only with "mode=inline", right? :/ Also, how would I get the last row in a table/list to be totals of the above rows/lists? -Eep² 05:22, 28 July 2007 (CEST)
- You are right. If you want to have inline (#) sums of articles DPL must not add an implicit newline after ther reultsheader or resultsfooter. So I removed that. As a consequence you must add a \n after a resultsheader if you want to create a headline with ==x== notation. That is acceptable, I think. Version 1.3.1 has this modification as you see. PLease have a look at Test resultsheader!
- Gero 08:13, 28 July 2007 (CEST)
- Thanks for fixing this. -Eep² 22:07, 28 July 2007 (CEST)
example code within the manual
The example code at hlistattr (and some others) creates unwanted effects on the TOC table. I would rather see all examples as separate files, (a) the code of the example and (b) the actual example itself. The manual could then include the example code directly and with nowiki tags around so that the code need not be duplicated. "selfhtml" shows how to do this. I suggest that you change hlistattr that way and that we agree on a standard way how to do it based on that example. Gero 14:29, 17 August 2007 (CEST)
Inserting spaces and comma in the output
- I'd like to simulate the mode=inline behaviour, but removing the namespace of the links.
So I wrote {{#dpl:category=MyItems|listseparators=,[[%PAGE%|%TITLE%]] ,,}} which correctly renders Item1 Item2 Item3 Item4, but how to insert a comma between the items ? Yopai 20:44, 20 August 2007 (CEST)
- I solved it (if any better solution, I'll be glad to take it) by hacking the code :
- adding a parameter inlinetext=,%SPC% before the "listseparators" parameter
- modifying the code so the "listseparators" doesn't empty the "inlinetext" variable.
- replacing, inside inlinetext, '%SPC%' with ' ' (I also had the problem of spaces being trimmed when used in inlinetext, and I did'nt want to use which would have cause my line not to break)
- Hope it can be useful. Yopai 20:44, 20 August 2007 (CEST)
Reply
I think there is no nbeed to change the php code. Just use , as an alias for a comma; you can keep the space after that 'comma', so line wrapping will work normally:
{{#dpl:category=MyItems|listseparators=,[[%PAGE%|%TITLE%]], ,,}}
Gero 18:17, 22 August 2007 (CEST)
Replace category lists
How can I replace the default MediaWiki category lists with DPL-generated lists instead? Also, I'd like lists to optionally sort mixed-case alphabetically (not separating CAPS and lowercase letters)--is that possible with DPL? And I'd like to have the columns equal size like they are on http://www.tnlc.com/wiki/index.php?title=Category:Templates in MediaWiki's default category list but not in the DPL-generated list. -Eep² 15:09, 29 August 2007 (CEST)
- I did not think about replacing the default category lists so far. Maybe there is a hook for that? If you find a canonic/legal way to do it I might be able to offer taht feature. But I will not offer a solution that would require to patch mediawiki source code.
- Why not?
- Regarding case-insensitive sorting: There seems to be a simple way to do it with SQL. So I will be able to offer that option in one of the next releases.
- OK, how is it done--do you have a link? I'd like to change how MediaWiki sorts things by default throughout anyway.
- Thanks.
- Equal size for columns or width=100% is possible with 'rowcolformat'. I changed your example accordingly.
- Gero 21:53, 29 August 2007 (CEST)
- Thanks; I corrected the parameter and added more info to it but how do I get equal column widths? I tried rowcolformat=cols=3 but that doesn't seem to work. I guess I have to set specific widths for each column--is there a way to set a width for all columns (without having to specify a width for each column)? -Eep² 23:09, 29 August 2007 (CEST)
- you may want to try setting colwidth to 33%. Read SELFHTML to understand whether this works.Gero 16:53, 30 August 2007 (CEST)
- SELFHTML? A link would be nice since there is no colwidth HTML tag... -Eep² 22:51, 30 August 2007 (CEST)
- selfhtml is a wonderful online manual explaining everything about html, JavaScript, css etc. Its root is in Austria, so it is in German. There used to be an English version but it may be outdated. Anyway, you would have to use DPL rowcolformat to assign a special class to your table and then you should be able to define css properties for that class in the article mediawiki:Common.css. At least I think it should work like that. You have to find out yourself. If it works it would be nice if you published the solution under FAQ... 09:11, 31 August 2007 (CEST)
- Well, unfortunately, I don't know German (or French) so SelfHTML (that wasn't so hard to put a link to, now was it?) is out for me. Doing a simple Google search for "colwidth" turned up non-HTML syntax unusable in MediaWiki and with DPL. How would I define a class for mode=category? Oh and thanks for adding the other booleans. -Eep² 09:43, 31 August 2007 (CEST)
(You may have to clear thebrowser cache or use CTRL-F5 to display the above table correctly). Gero 14:02, 31 August 2007 (CEST)
- {{#dpl:titlematch=N%|columns=3|rowcolformat=class=dpl3columns}} is not for mode=category...and there's 4 columns. -Eep² 15:05, 31 August 2007 (CEST)
Compare the template field values??
Is it possible to compare the field values of two same templates: One template in a category and one in those articles belonging to this category. For example, Template:Country in a category has population field with value of 15million. In an article, there is also a Template:Country with population field. What I want to do is that if the population value changes, then the article meets the criteria and will be output in a table to show the changed value like this:
Country|population|
catname|15million|
article1|17million|
article2|18million|
Any idea? Thanks, Guoqian 10:41, 1 September 2007
Answer
This is quite easy to do. Either you write querty which simply picks up all template calls for Population (regardless where they may be) or you build a set of two queries which are directly reflecting your problem structure. I think your example may be of soime relevance to others, so I created some test files and a Population Checker template. See Category:Country. Gero 11:10, 2 September 2007 (CEST)
Question1
- This is nice but it seems still showing those articles having the same value with its category. See Template:Population Checker, I added an article Nig3 having population of 5.3 million. I donot want to show this article in table because the population value is not changed. I mean I only need articles with changed value to be output in a table. Can DPL filter out this one? Thanks, - Guoqian 8:59, 2 September 2007
Reply
It is possible. You would have to use a DPL query which outputs just the value of a single parameter (which is possible) and use that result as an argument for the 'includematch' parameter of a second DPL query. I suggest that you try yourself. Gero 20:36, 2 September 2007 (CEST)
Question2
OK. I added a Template:Population.dpl2 to show a single population figure and made a DPL query in Template:Country Population to get the value of a specific field for a specific category. In Template:Population Check, I call template Country Population as the parameter of includenotmatch. It works well if I pass a specific country name. See Template:Population Checker
One question is that how I can pass the field name (country name) to template Country Population without a specific value. I mean different articles have different country names or one article contains different country names.
Another question is that how I can make the country names as column headers and population figures as row entries like:
article|Nigunda|Tosuna
catname|5.3 Mio|2.1 Mio
Nig1|7 Mio|-
Nig2|2.1 Mio|-
Nig5|-|3.2Mio
Nig10|3.3 Mio|4.3 Mio
Is this possible by using DPL? Thanks. -Guoqian 5:01pm, 3 September 2007
Reply 2
- If you simply want to get the value of one template parameter you don´t have to invent an extra template. Just put the field name or field number after the template (preceded by a colon). I changed your code in template Country Population accordingly.
- I did not know that in your case an article could have statements about more than one country. Therefore the current design is not ideal and would become too complicated if you extended it via, let´s say, another DPL loop around the top level checker.
- In your case it is much easier to pick all invocations of the Population template (regardless of where they may occur), then output article name, country name and figure and finally throw it into a sortable list. Then click once on the country column and you will have the conflicting entries right beneath each other.
- Could you try that and show us the result here?
- As for your last question: As far as I am aware of, the current design of DPL does not allow flipping columns and rows (in neither approach). But sometimes people come up with things I didn´t think of. So, who knows ..
- Well, would you consider adding this functionality in DPL please? I really need this for my comparison table so it doesn't get excessively wide, causing scrunched columns or horizontal scrolling! -Eep² 00:36, 5 September 2007 (CEST)
--Gero 19:46, 4 September 2007 (CEST)
Question 3
- In your second point, you did not point out how a dynamic value can be set as an input value for a template call in includematch. Without this support, I can not filter out other population figure having the same value with its category. For examples, Nig4 can not be excluded in this way. I tried something like: includenotmatch=/\s*{{Country Population|{{{1}}}|Nigunda}}*/s,/\s*{{Country Population|{{{1}}}|Tosuna}}*/s. But it does not work although in includenotmatch, it has syntax as includenotmatch=regexp1,regexp2,.. . Can you explain how the regexps would work together? You mentioned we may need a new design. Can you give an example design for this problem?
- In my use case, Category:Country also has several subcategories like Category:CountryA and Category:CountryB. I donot want these subcategories to be output in wikitable. How can I exclude these matches for subcategories?
--Thanks, Guoqian 9:01pm, 4 September 2007
- Use nottitlematch. -Eep² 04:40, 5 September 2007 (CEST)
- How does this work? You mean I put nottitlematch=%CountryA%|%CountryB% in the creteria list. It seemed only working for CountryA (is it a bug?). see Template:Population Check. Even this works, it is not the way I desired. I believe there should be a way to exclude the direct/all subcategories.Thanks, -Guoqian 9:37am, 5 September 2007
- I got it. I added "namespace=" for matching those only in articles. I am not sure if this is the best solution but this works.
- How does this work? You mean I put nottitlematch=%CountryA%|%CountryB% in the creteria list. It seemed only working for CountryA (is it a bug?). see Template:Population Check. Even this works, it is not the way I desired. I believe there should be a way to exclude the direct/all subcategories.Thanks, -Guoqian 9:37am, 5 September 2007
This is a check of Country for consistency of population figures.
article | country | population |
---|---|---|
Category Country | Nigunda | 5.3 Mio |
Category Country | Tosuna | 2.1 Mio |
Category Nig1 | Nigunda | 5 Mio |
Category Nig2 | Nigunda | 7 Mio |
Category Nig4 | Tosuna | 2.1 Mio |
-Guoqian 10:11am, 5 September 2007
Question 4
- How can I disable "%DPL-1.3.9-WARNING: No results!" if no results return?-Guoqian 12:11am, 9 September 2007
- See the manual (debug or noresultsheader). Gero 08:46, 9 September 2007 (CEST)
- Very nice. "debug" works very well. It seems that empty string for noresultsheader does not work although a Note "Setting noresultsheader to the empty string ("noresultsheader=") will suppress the warning message from DPL" which is normally issued if no articles were found. " is mentioned in manual. Thanks, -Guoqian 7:05, 9 September 2007
Question 5
- After I use titlematch=%abc% and get a list of matched pages, I want to filter the results and recieve those only having a specified value of a template. Say Temaplte:Kind, having possible values "KindA", "KindB", etc. I only want those results with "KindB" for Template:Kind. (Note:output format will use a different Template). Any idea? Thanks, -Guoqian 11:00, 10 September 2007
replaceintitle
I'm trying to use a magic word in the search term for replaceintitle:
{{#dpl: namespace= |titleregexp=^{{PAGENAMEE}}/ |columns=1 |ordermethod=lastedit |shownamespace=yes |addeditdate=yes |adduser=yes |order=descending |mode=userformat |replaceintitle=/{{PAGENAMEE}}/, |listseparators = ,[[%PAGE%|%TITLE%]]<br/>, }}
When I do this I get an error:
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'C' in /home/rob/www/extensions/DynamicPageList-1.4.2/DynamicPageList2.php on line 3134
The DPL query is being used from within a template. Also thanks for making DPL - it makes lots useful things possible! --Rob 02:54, 11 October 2007 (CEST)
Reply
Maybe some of your pages are subpages. Then PAGENAMEE would contain a slash and the letter after the slash would be understood as a regexp modifier. You should apply a {{#replace:{{PAGENAMEE}}|/|\|}} or so to escape slashes or you should use a different regexp delimiter symbol.
- Gero 09:06, 11 October 2007 (CEST)
- Yes, you're right. When the query works when the pagename has no / but when it is iself a subpage the error occurs. Thanks for your help. --Rob 00:20, 12 October 2007 (CEST)
DPL and image gallery
Hi all, sorry if this question is not properly placed or stated. I need some hints about this problem: I need to create a gallery with images from a category. First I started with this piece of code:
{{#dpl: |category = {{{categoria}}} |namespace = Image |mode = userformat |format = «gallery»,%PAGE%¦%TITLE%\n,,«/gallery» |noresultsheader = No image in this category. }}
But the result is not so good, as you can see here:
http://www.usnb.it/wiki/index.php?title=Test:TestGallery
all the coats of arms are in the same size, but the pictures differs because there are different crowns. The resizing in thumbnails is not so good....
Thus I adopted this solution:
{{#dpl: |category = {{{categoria}}} |namespace = Image |mode = userformat |format = «table border="1"»«tr»,«td valign=bottom»²{ImagePerc¦immagine=%TITLE%¦larghezza=100¦descrizione=%TITLE%}² ,«/td»²{#if: ²{#pos:%NR%¦0}² ¦ «/tr»«tr» ¦ }²,«/tr»«/table» |noresultsheader = Nessuna immagine in questa categoria, per il momento. }}
ImagePerc is a template able to resizing an image both by percentage and pixel width:
[[Image:{{{immagine}}}|{{ #if:{{#pos:{{{larghezza|100}}}|px}}|{{{larghezza|100}}}| {{#expr: ({{#imgw: {{{immagine}}} }} * {{{larghezza|100}}}) / 100 }}px }}|{{{descrizione|}}}]]
where #imgw is a parser function able to retrieve the width of the given image.
The result seem better, but the </tr><tr> are rendered as string and not tags, despite the DPL escape characters adopted.
http://www.usnb.it/wiki/index.php?title=Template:CategoryGallery2
Any hints? Thanks --GB 23:51, 23 November 2007 (CET)
- [SOLVED?] after a while, I noticed that setting $wgUseTidy = true; seems to work :-) --GB 00:49, 24 November 2007 (CET)
tablerow-Like Parameter.
Is there a parameters similar to tablerow that'll let me process each individual included component without having to use a table? Example:
include={sometemplate}:a:b:c format=,\n* '''[[%PAGE%|%TITLE%]],, ???=<sup>{{#if:%%|M}},{{#ifeq: %%|filler|X}}</sup>:, ''' %%,
Essentially, I want the end result to build the wiki-markup:
* '''[[Issue:Adduser|Adduser]]:''' Yadda yadda. * '''[[Issue:Collation|Collation]]<sup>M</sup>:''' blah blah. * '''[[Issue:False result count|False result count]]<sup>X</sup>:''' Yackety schmackety. * '''[[Issue:Modularize DPL Code|Modularize DPL Code]]<sup>MX</sup>:''' blah.
which will be displayed as
- Adduser: Yadda yadda.
- CollationM: blah blah.
- False result countX: Yackety schmackety.
- Modularize DPL CodeMX: blah.
—Sledged (talk) 23:33, 29 January 2008 (CET)
- Currently there is no such parameter. Feel free to add it. Currently I am not working at the DPL source.
- Gero 22:51, 30 January 2008 (CET)
discussion board lookalike
Dear Friends,
let me start with a compliment. DPL seems to be a great tool. Maybe it could be configured in the following way:
I am looking for a "simulation" of an online-discussion-board to invite extern board-communitys to Wikiversity. The goal is to build a common platform usable by various private websites, but in wiki-syntax.
Treads, subjects, themes listet, if last edit is not older than x days. It should "feel" like an PHP-board or something. Various extern Webmasters could implement this "wikiversity-board" instead of an PHP-board to participate with a larger community. A single webmaster often has only an hand full of members, but each webmaster is making in the same subject (physical science). It could be a benefit for the webmasters and for US. Therefore a "real" discussion-board would not be acceptable. We are looking for new users.
Unfortunately extern discussion-communitys hangs on there own "look and fell". Its like "reactance against new things". I want to close the gap by providing a "lookalike". A "surface" to make it easyer to implement it on extern websites. It should be quite similar than a real discussion-board but based on regular wikimedia-pages. Is this possible? Has someone an idea?
Howto configure DPL in a table? --CFT 02:31, 12 March 2008 (CET)
- To be honest, I do not understand what you have in mind. Using SimpleForms and DPL you could build a system which offers a dialog box to add comments or new pages and you could create overview tables; the outcome could be similar to the 'Issue' system here in this wiki...
- Gero 00:39, 13 March 2008 (CET)