Difference between revisions of "Issue:Mode=category loses letter headings when ordermethod=titlewithoutnamespace"
(→Analysis) |
(→Analysis) |
||
Line 65: | Line 65: | ||
</pre> | </pre> | ||
− | but $row->sortkey is ''not'' set, so mStartChar does not get set. | + | but $row->sortkey is ''not'' set, so mStartChar does not get set. I changed it to: |
+ | |||
+ | <pre> | ||
+ | if( isset($row->sortkey) ) { | ||
+ | $dplArticle->mStartChar = $wgContLang->convert($wgContLang->firstChar($row->sortkey)); | ||
+ | } else { | ||
+ | $dplArticle->mStartChar = $wgContLang->convert($wgContLang->firstChar($row->page_title)); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | and things seem to work. What do you think of this patch? | ||
== Reply == | == Reply == |
Revision as of 18:51, 10 December 2009
Description: | mode=category should produce headings A, B, C, etc., but does not when ordermethod=titlewithoutnamespace |
Extension / Version: | DPL / 1.8.8 |
Type / Status: | Bug / open |
Problem
MediaWiki 1.15.1.
This produces the headings A, B, C, etc., like a category page:
<dpl> category = African Union member states mode = category ordermethod = title </dpl>
Example:
C
N
S
This should produce A, B, C, etc., but does not:
<dpl> category = African Union member states mode = category ordermethod = titlewithoutnamespace </dpl>
Example:
C
N
S
I think the headings are empty or blank, not missing. If you have many items in your list, you will see continuation headings like "cont." instead of "A cont." So I'm guessing the headings are being rendered, but they are blank, so nothing shows up. Here is an example with "cont.":
"
%
A
- Issue:A problem in the conbination DPL 1.7.4 and MW1.3 using Chinense interface
- Issue:AddContribution missing prefix
- Issue:AddContribution missing prefix regression
- Issue:Add "minimum-number-of-revisions" like Criteria for page selection
- Issue:Add a template in the pages automatically by DPL
- Issue:Add new option to exclude page sections
- Issue:Addlasteditor crashes new article
Analysis
In DPL::formatCategoryList, when ordermethod=titlewithoutnamespace, all entries in $aArticles_start_char[] contain the empty string. This is because $this->mArticles[$i]->mStartChar is empty. That's the problem.
This is happening because in DPLMain.php, formatCategoryList() says:
if( isset($row->sortkey) ) { $dplArticle->mStartChar = $wgContLang->convert($wgContLang->firstChar($row->sortkey)); }
but $row->sortkey is not set, so mStartChar does not get set. I changed it to:
if( isset($row->sortkey) ) { $dplArticle->mStartChar = $wgContLang->convert($wgContLang->firstChar($row->sortkey)); } else { $dplArticle->mStartChar = $wgContLang->convert($wgContLang->firstChar($row->page_title)); }
and things seem to work. What do you think of this patch?