Difference between revisions of "Issue:Output nothing if using include in parser function version of DPL within template"
m (→Problem) |
m (→Reply 3) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 29: | Line 29: | ||
== Reply == | == Reply == | ||
+ | |||
+ | I guess that you have a problem with the regexp. | ||
+ | |||
+ | The following example works correctly (here, using MW 1.13) as you can see: | ||
+ | |||
+ | <pre><nowiki>{{test get chapter|fictitious country|.*un.*}}</nowiki></pre> | ||
+ | |||
+ | {{test get chapter|fictitious country|.*un.*}} | ||
+ | |||
+ | == Reply 2 == | ||
+ | Thank you Gero. I did some more experience and found that template is not the root of this issue. This time I don't use template. | ||
+ | |||
+ | Both of the following methods are OK: | ||
+ | <pre><nowiki> | ||
+ | Method 1: | ||
+ | {{#dpl: | ||
+ | |category=Report | ||
+ | |include=#Eric | ||
+ | |count=5 | ||
+ | }} | ||
+ | |||
+ | Method 2: | ||
+ | <dpl> | ||
+ | category=Report | ||
+ | include=#Eric | ||
+ | count=5 | ||
+ | </dpl> | ||
+ | </nowiki></pre> | ||
+ | |||
+ | # In method 1, if [[count]] > 5 (i.e., 6 and above), it makes the wiki output nothing. There seems no such limitation in method 2. | ||
+ | # In method 1, if I remove the [[include]] portion, it can also output the article list. | ||
+ | # I turn on the PHP error message and it reads:<br/><code>Fatal error: Call to a member function getPrefixedDBkey() on a non-object in /home/wiki/mediawiki/includes/parser/Preprocessor_DOM.php on line 994 | ||
+ | </code> | ||
+ | |||
+ | You can try these example here. | ||
+ | |||
+ | Exp. 1 - OK | ||
+ | <blockquote><pre><nowiki> | ||
+ | {{#dpl: | ||
+ | |category=Issue | ||
+ | }} | ||
+ | </nowiki></pre></blockquote> | ||
+ | Exp. 2 - Fail (it's OK if adding count=2) | ||
+ | <blockquote><pre><nowiki> | ||
+ | {{#dpl: | ||
+ | |category=Issue | ||
+ | |include=#Reply | ||
+ | }} | ||
+ | </nowiki></pre></blockquote> | ||
+ | Exp. 3 - OK | ||
+ | <blockquote><pre><nowiki> | ||
+ | <dpl> | ||
+ | category=Issue | ||
+ | </dpl> | ||
+ | </nowiki></pre></blockquote> | ||
+ | Exp. 4 - OK | ||
+ | <blockquote><pre><nowiki> | ||
+ | <dpl> | ||
+ | category=Issue | ||
+ | include=#Reply | ||
+ | </dpl> | ||
+ | </nowiki></pre></blockquote> | ||
+ | |||
+ | Thank you. [[User:Ericyu|Ericyu]] 14:35, 22 October 2008 (UTC) | ||
+ | |||
+ | == Reply 3 == | ||
+ | I think it is the same issue of [[Issue:Call to a member function getPrefixedDBkey() on a non-object]]. However, at MW 1.13.0, this problem only occurs at DPL 1.7.3 and above, and it is OK with DPL 1.7.2. | ||
+ | [[User:Ericyu|Ericyu]] 01:26, 23 October 2008 (UTC) |
Latest revision as of 03:26, 23 October 2008
Description: | Output nothing if using include in parser function version of DPL within template |
Extension / Version: | DPL / 1.7.4 |
Type / Status: | Bug / open |
Problem
When I use parser function version of DPL within a template, the "include" function will make the whole wiki page output nothing (i.e., empty HTML), and there seems no error in MediaWiki's debug log. I use it like this:
{{#dpl: |category={{{1}}} |include=#SomeSection |titleregexp={{{2}}} |format=,<h2>'''[[%PAGE%|%PAGE%]]'''</h2> }}
- If I use debug=5, I can see the non-parsed Wiki text output correctly.
- If I use it individually (not within the template and replace those variable), it also works correctly.
- If I remove "include", it works.
- Since I have to pass parameters, I can only use the parser function version.
My MediaWiki version: 1.13.0. Is there any clue I can investigate further? Thanks!
Ericyu 09:36, 22 October 2008 (UTC)
Reply
I guess that you have a problem with the regexp.
The following example works correctly (here, using MW 1.13) as you can see:
{{test get chapter|fictitious country|.*un.*}}
#1 = fictitious country #2 = .*un.*
{{#dpl: |category={{{1}}} |include=#Religion |titleregexp={{{2}}} |format=,<h2>'''[[%PAGE%|%PAGE%]]'''</h2> }}
Nigunda
some facts about religious groups in Nigunda; some other facts about religious groups in Nigunda;Nigunda Test
some facts about religious groups in Nigunda; some other facts about religious groups in Nigunda Test;
Reply 2
Thank you Gero. I did some more experience and found that template is not the root of this issue. This time I don't use template.
Both of the following methods are OK:
Method 1: {{#dpl: |category=Report |include=#Eric |count=5 }} Method 2: <dpl> category=Report include=#Eric count=5 </dpl>
- In method 1, if count > 5 (i.e., 6 and above), it makes the wiki output nothing. There seems no such limitation in method 2.
- In method 1, if I remove the include portion, it can also output the article list.
- I turn on the PHP error message and it reads:
Fatal error: Call to a member function getPrefixedDBkey() on a non-object in /home/wiki/mediawiki/includes/parser/Preprocessor_DOM.php on line 994
You can try these example here.
Exp. 1 - OK
{{#dpl: |category=Issue }}
Exp. 2 - Fail (it's OK if adding count=2)
{{#dpl: |category=Issue |include=#Reply }}
Exp. 3 - OK
<dpl> category=Issue </dpl>
Exp. 4 - OK
<dpl> category=Issue include=#Reply </dpl>
Thank you. Ericyu 14:35, 22 October 2008 (UTC)
Reply 3
I think it is the same issue of Issue:Call to a member function getPrefixedDBkey() on a non-object. However, at MW 1.13.0, this problem only occurs at DPL 1.7.3 and above, and it is OK with DPL 1.7.2. Ericyu 01:26, 23 October 2008 (UTC)