[geeklog-cvs] geeklog: Fixed some layout issues with Table style search result...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Thu Nov 5 14:06:39 EST 2009


changeset 7440:d2f5a93daea6
url:  http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/d2f5a93daea6
user: Sami Barakat <sami at sbarakat.co.uk>
date: Thu Nov 05 19:05:28 2009 +0000
description:
Fixed some layout issues with Table style search results and made current sort order more visible.

diffstat:

 system/classes/listfactory.class.php |  32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

diffs (68 lines):

diff -r 57bcdd15e6d4 -r d2f5a93daea6 system/classes/listfactory.class.php
--- a/system/classes/listfactory.class.php	Thu Nov 05 00:53:29 2009 +0000
+++ b/system/classes/listfactory.class.php	Thu Nov 05 19:05:28 2009 +0000
@@ -612,8 +612,6 @@
                 $href = $this->_page_url . "order={$this->_sort_arr['field']}&" .
                             "direction={$this->_sort_arr['direction']}&results=$val";
 
-                $selected = $this->_per_page == $val ? ' selected="selected"' : '';
-
                 // Prevent displaying too many limit items
                 if ($this->_total_found <= $val)
                 {
@@ -652,17 +650,11 @@
         }
         else
         {
-            $sort_selected = ' selected="selected"';
+            $sort_selected = '';
             $sort_text = $LANG09[68].' ';
             if (!$show_sort) {
                 $list_templates->set_var('show_sort', 'display:none;');
             }
-
-            // Write field
-            $list_templates->set_var('sort_text', "$sort_text...");
-            $list_templates->set_var('sort_href', "");
-            $list_templates->set_var('sort_selected', $sort_selected);
-            $list_templates->parse('page_sort', 'sort', true);
         }
 
         // Draw the sorting select box/table headings
@@ -678,10 +670,22 @@
                     $direction = $this->_def_sort_arr['direction'];
 
                     // Show the sort arrow
-                    if ($this->_sort_arr['field'] === $field['name']) {
-                        //$selected = $sort_selected;
+                    if ($this->_sort_arr['field'] === $field['name'])
+                    {
                         $direction = $this->_sort_arr['direction'] == 'asc' ? 'desc' : 'asc';
-                        $text .= " ($direction)";
+
+                        if ($this->_style == 'inline') {
+                            // Add drop down item for current sort order
+                            $list_templates->set_var('sort_text', $text.' ('.$this->_sort_arr['direction'].')');
+                            $list_templates->set_var('sort_href', '');
+                            $list_templates->set_var('sort_selected', ' selected="selected"');
+                            $list_templates->parse('page_sort', 'sort', true);
+
+                            // Set up the sort order for the opposite direction
+                            $text .= " ($direction)";
+                        } else {
+                            $selected = $sort_selected;
+                        }
                     }
 
                     $href = $this->_page_url . "results={$this->_per_page}&" .
@@ -729,6 +733,10 @@
                         // Write field
                         $list_templates->set_var('field_text', $fieldvalue);
                         $list_templates->parse('item_field', 'field', true);
+                    } else {
+                        // Write an empty field
+                        $list_templates->set_var('field_text', ' ');
+                        $list_templates->parse('item_field', 'field', true);
                     }
                 }
             }



More information about the geeklog-cvs mailing list