View Issue Details

IDProjectCategoryView StatusLast Update
0016764phpList 3 applicationInterface - Administratorpublic28-03-13 13:14
Reporterduncanc Assigned To 
Status resolvedResolutionfixed 
Product VersionSVN 
Fixed in Version2.11.8 
Summary0016764: HTML generted for navigation area by the WebblerListing class
DescriptionFound in the SVN trunk version.

Trying to get my statistics plugin to display its pager control using the WebblerListing class, I found problem with the html generated by that class.

See file admin/commonlib/lib/interface.lib lines 387-389

The html for the page is invalid. If you view, say, the users page and then view source in firefox, the html for the paging div is shown in red
because it is within a table but not within a td element.

A related problem is that the navigation is being displayed at the wrong point. It is displayed after the listingStart() and listingHeader() calls, so would be displayed after the column headings. But Firefox has actually compensated by displaying the div before the table, so when viewing the page the paging area seems to be in the correct position.

I suggest moving the insideNav() call to either:
before listingStart(), so it is a div outside but immediately before the table,
or after listingStart(), in which case it needs to be wrapped in table row/data elements

TagsNo tags attached.



27-03-13 20:35

administrator   ~0051996

indeed. I placed it before the header, but inside the table, wrapped in a TR TD.


27-03-13 21:31

updater   ~0051997

Just to check your change. If it is simply
      $html .= '<tr><td>' . $this->insideNav . '</tr></td>';
then it will be limited to the width of the first column. To allow the area to extend the full width of the table specify 0 for colspan:
      $html .= '<tr><td colspan="0">' . $this->insideNav . '</tr></td>';


27-03-13 21:42

administrator   ~0051998

ah, interesting didn't know about colspan="0" does that work on all browsers?

I do a column calculation, but didn't test it


28-03-13 11:39

updater   ~0051999

Last edited: 28-03-13 11:42

View 2 revisions

The colspan="0" works for Firefox and Chromium, but doesn't work on IE 7, which is the only version of IE that I have.

Can you modify your change so that insideNav is not within the sprintf formatting string. Otherwise it will be interpreted by sprintf.

        $html .= sprintf('<tr><td colspan="%d">%s</td></tr>',sizeof($this->columns)+1, $this->insideNav);


28-03-13 13:14

administrator   ~0052000

yes, good point. Done