DPL talk:Manual - DPL parameters: Controlling output format

From FollowTheScore
Revision as of 13:42, 29 July 2008 by Briotti (talk | contribs) (Formatting first table column)
Jump to: navigation, search

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)
Unfortunately, doing that disables most of SimpleForms' functionality (like listing category articles in the test example on User:Eep²). :/ -Eep² 12:46, 17 August 2007 (CEST)

resultsfooter bug as parser function

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 copout copout (you really ought to add the wikipedia: interwiki link to your MediaWiki database...) to me... -Eep² 08:04, 29 July 2007 (CEST)

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:
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 &#44; 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%]]&#44; ,,}}

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.
o.k. with 1.3.6 Gero 16:53, 30 August 2007 (CEST)
changing mediawiki as a whole requires direct changes to the database and/or to MySQL (defining own collation sequences). There is literature on that in the MySQL world ... Gero 16:53, 30 August 2007 (CEST)
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

  1. 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.
  2. 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.
  3. 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.
  4. Could you try that and show us the result here?
  5. 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

  1. 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?
  2. 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.


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

  1. 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

  1. 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

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)


Formatting first table column

I would like to know if there is a technique to format the first cell in a table row. I've seen that using tablerow it is possible to format all the include parameters related cell. But what about the first (i.e. the article cell) one? Probably do I must use a phantom template? --GB 20:46, 28 July 2008 (CEST)

Yes, if you want to format the column which contains the link to the article in a different way you must take over control completely by writing your own phantom template. The table statement tries to keep syntax simple ... Gero 21:19, 28 July 2008 (CEST)

mmm... sure I didn't understood... :-) well, you stated that:
  • I must avoid to use table statement and use a phantom template instead (argh!), or
  • I must use table and tablerow statements and a phantom template for include statement, or
  • I must use table and a phantom template returning the syntax for a table row, or
  • nothing of the previous :-)
BTW, probably I understood that (and how) it is possible to include one or more templates and related parameters, but probably I didn't understood how phantom templates work :-) --GB 14:14, 29 July 2008 (CEST)
[SOLVED?] Well, probably I solved in this way:
  • I added the magic word PAGE with double square bracket after the template name in the include statement
  • I placed a minus sign in the table statement to avoid the header for article column, and I added a new header
  • I added a new placeholder in the tablerow statement to take in account the new column, with the desired format (for test, just a simple alignment html attribute

It works! You can see it at Riepilogo Creature. Well... too simple... what I'm missing??? :-D PS. Tks again for your wonderful and powerful extension... --GB 14:42, 29 July 2008 (CEST)