Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-8109

Flexible column positons - you may rearange the layout-table columns

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.8
    • Fix Version/s: 1.8.3, 1.9
    • Component/s: Themes
    • Labels:
      None
    • Affected Branches:
      MOODLE_18_STABLE
    • Fixed Branches:
      MOODLE_18_STABLE, MOODLE_19_STABLE

      Description

      Flexible column positions - you may rearrange the layout-table columns with an array in your theme config.php.

      $THEME->layouttable = array('left', 'right', 'middle');

      Attached a short theme comparison between standard and a new theme sketch with clear visual content / sideblock differentiation to show new theme layout possibilities. And this flexibility brings another advantage - you can place the right column to the left when you want to work with a 2-column layout and get this way the edit buttons to the left. These edit buttons sticking to the right side reduced flexibility.

      I'll commit the changes to index.php, course/topics/form.php. The layouttable setting is optional, the routine checks for the variable and sets the array to the Moodle standard column order when no values are set. I didn't change the column writing parts. I surrounded them with a foreach loop and a switch statement. For the moment all changes have starting and ending comments. And I attach a theme "standard1" for checking and testing.

      Petr or Martin, could you please have a look if the code can be optimized? Thanks.

      Rearanging the admin page columns and the other course formats may be done when the code is ok.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            urshunkler Urs Hunkler added a comment -

            a standard theme / differerent column layout comparison

            Show
            urshunkler Urs Hunkler added a comment - a standard theme / differerent column layout comparison
            Hide
            dougiamas Martin Dougiamas added a comment -

            Looks fine. +1

            Show
            dougiamas Martin Dougiamas added a comment - Looks fine. +1
            Hide
            urshunkler Urs Hunkler added a comment -

            I added the neccessary code to all course formats, the index.php and admin/pagelib.php.

            Show
            urshunkler Urs Hunkler added a comment - I added the neccessary code to all course formats, the index.php and admin/pagelib.php.
            Hide
            urshunkler Urs Hunkler added a comment -

            I colsed the wrong Item. Still working on this one.

            Show
            urshunkler Urs Hunkler added a comment - I colsed the wrong Item. Still working on this one.
            Hide
            urshunkler Urs Hunkler added a comment -

            In index.php, the course/format.php and admin/settings.php I have implemented the code for the flexible column positions.

            The external admin pages are build with admin_externalpage_print_header() and admin_externalpage_print_footer(). Within these functions the switch to decide which column needs to be build can't be used. I don't know where the functions are called.

            I need help!

            A second parameter may help??? Or we need a compleatly different approach???

            Show
            urshunkler Urs Hunkler added a comment - In index.php, the course/format.php and admin/settings.php I have implemented the code for the flexible column positions. The external admin pages are build with admin_externalpage_print_header() and admin_externalpage_print_footer(). Within these functions the switch to decide which column needs to be build can't be used. I don't know where the functions are called. I need help! A second parameter may help??? Or we need a compleatly different approach???
            Hide
            urshunkler Urs Hunkler added a comment -

            Martin, sorry. Moving the issue from version to version without answering my question won't bring a solution. If nobody knows the solution or can check I might better close the issue because it can't be solved.

            Show
            urshunkler Urs Hunkler added a comment - Martin, sorry. Moving the issue from version to version without answering my question won't bring a solution. If nobody knows the solution or can check I might better close the issue because it can't be solved.
            Hide
            dougiamas Martin Dougiamas added a comment -

            The moving is automatic when a release is made (all left-over 1.8.2 stuff got bumped to 1.8.3).

            I'm not sure what the question is.... why can't $THEME->layouttable be used in admin_externalpage_print_header/footer in the same way as it's done for the main index.php for example?

            Show
            dougiamas Martin Dougiamas added a comment - The moving is automatic when a release is made (all left-over 1.8.2 stuff got bumped to 1.8.3). I'm not sure what the question is.... why can't $THEME->layouttable be used in admin_externalpage_print_header/footer in the same way as it's done for the main index.php for example?
            Hide
            urshunkler Urs Hunkler added a comment -

            The external admin pages split the page construction into admin_externalpage_print_header() and admin_externalpage_print_footer(). The trick was to split the column array to get any columns before middle-column and any columns after middle-column.

            Show
            urshunkler Urs Hunkler added a comment - The external admin pages split the page construction into admin_externalpage_print_header() and admin_externalpage_print_footer(). The trick was to split the column array to get any columns before middle-column and any columns after middle-column.

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  11/Oct/07