diff options
author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-04 04:43:26 +0000 |
---|---|---|
committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-04 04:43:26 +0000 |
commit | 4e80e365f054dea55bd481cbebd7af5fed7bb288 (patch) | |
tree | fa8ce71532292f0d37cca4651607125c4e453654 /views/default | |
parent | 719146b6449c1241f70caed2ddb520ce8fbd6da3 (diff) | |
download | elgg-4e80e365f054dea55bd481cbebd7af5fed7bb288.tar.gz elgg-4e80e365f054dea55bd481cbebd7af5fed7bb288.tar.bz2 |
a better main content view structure
git-svn-id: http://code.elgg.org/elgg/trunk@7525 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views/default')
-rw-r--r-- | views/default/content/filter.php | 43 | ||||
-rw-r--r-- | views/default/content/footer.php | 8 | ||||
-rw-r--r-- | views/default/content/header.php | 44 | ||||
-rw-r--r-- | views/default/content/sidebar.php | 8 | ||||
-rw-r--r-- | views/default/css/screen.php | 6 | ||||
-rw-r--r-- | views/default/layouts/main_content.php | 53 |
6 files changed, 162 insertions, 0 deletions
diff --git a/views/default/content/filter.php b/views/default/content/filter.php new file mode 100644 index 000000000..b4d747cbf --- /dev/null +++ b/views/default/content/filter.php @@ -0,0 +1,43 @@ +<?php +/** + * Main content filter + * + * Select between user, friends, and all content + * + * @uses $vars['filter_context'] Filter context: everyone, friends, mine + * @uses $vars['filter_override'] HTML for overriding the default filter (override) + * @uses $vars['context'] Page context (override) + */ + +if (isset($vars['filter_override'])) { + echo $vars['filter_override']; + return true; +} + +$context = elgg_get_array_value('context', $vars, elgg_get_context()); + +if (isloggedin() && $context) { + $username = get_loggedin_user()->username; + $filter_context = elgg_get_array_value('filter_context', $vars, 'everyone'); + + // generate a list of default tabs + $tabs = array( + 'all' => array( + 'title' => elgg_echo('all'), + 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "pg/$context/", + 'selected' => ($filter_context == 'everyone'), + ), + 'mine' => array( + 'title' => elgg_echo('mine'), + 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$context/$username", + 'selected' => ($filter_context == 'mine'), + ), + 'friend' => array( + 'title' => elgg_echo('friends'), + 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$context/$username/friends", + 'selected' => ($filter_context == 'friends'), + ), + ); + + echo elgg_view('navigation/tabs', array('tabs' => $tabs)); +} diff --git a/views/default/content/footer.php b/views/default/content/footer.php new file mode 100644 index 000000000..66f5d3ff8 --- /dev/null +++ b/views/default/content/footer.php @@ -0,0 +1,8 @@ +<?php +/** + * Main content footer + * + * @uses $vars['content'] The content for the footer + */ + +echo $vars['content']; diff --git a/views/default/content/header.php b/views/default/content/header.php new file mode 100644 index 000000000..b28dc17c0 --- /dev/null +++ b/views/default/content/header.php @@ -0,0 +1,44 @@ +<?php +/** + * Main content header + * + * This includes a title and a new content button by default + * + * @uses $vars['header_override'] HTML for overriding the default header (override) + * @uses $vars['title'] Title text (override) + * @uses $vars['context'] Page context (override) + * @uses $vars['buttons'] Content header buttons (override) + */ + +if (isset($vars['header_override'])) { + echo $vars['header_override']; + return true; +} + +$context = elgg_get_array_value('context', $vars, elgg_get_context()); +if ($context) { + $title = elgg_get_array_value('title', $vars, ''); + if (!$title) { + $title = elgg_echo($context); + } + + if (isset($vars['buttons'])) { + $buttons = $vars['buttons']; + } else { + if (isloggedin() && $context) { + $username = get_loggedin_user()->username; + $new_link = elgg_get_array_value('new_link', $vars, "pg/$context/$username/new"); + $params = array( + 'href' => $new_link = elgg_normalize_url($new_link), + 'text' => elgg_echo("$context:new"), + 'class' => 'action-button right', + ); + $buttons = elgg_view('output/url', $params); + } + } + echo <<<HTML +<div id="elgg-main-header" class="elgg-header clearfix"> + <h2 class="elgg-module-heading">$title</h2>$buttons +</div> +HTML; +} diff --git a/views/default/content/sidebar.php b/views/default/content/sidebar.php new file mode 100644 index 000000000..86ca8435f --- /dev/null +++ b/views/default/content/sidebar.php @@ -0,0 +1,8 @@ +<?php +/** + * Main content sidebar + * + * @uses $vars['content] The content for the sidebar + */ + +echo $vars['content']; diff --git a/views/default/css/screen.php b/views/default/css/screen.php index 97303822c..18e4a0bad 100644 --- a/views/default/css/screen.php +++ b/views/default/css/screen.php @@ -294,6 +294,12 @@ h2 { border-top:1px solid #DEDEDE; } + +#elgg-main-header { + border-bottom: 1px solid #CCCCCC; + padding-bottom: 3px; +} + #elgg-header-contents { width:990px; position: relative; diff --git a/views/default/layouts/main_content.php b/views/default/layouts/main_content.php new file mode 100644 index 000000000..7c42065b0 --- /dev/null +++ b/views/default/layouts/main_content.php @@ -0,0 +1,53 @@ +<?php +/** + * Main content area layout + * + * @uses $vars['content'] HTML of main content area + * @uses $vars['sidebar'] HTML of the sidebar + * @uses $vars['header'] HTML of the content area header (override) + * @uses $vars['nav'] HTML of the content area nav (override) + * @uses $vars['footer'] HTML of the content area footer + * @uses $vars['filter'] HTML of the content area filter (override) + * @uses $vars['title'] Title text (override) + * @uses $vars['context'] Page context (override) + * @uses $vars['buttons'] Content header buttons (override) + * @uses $vars['filter_context'] Filter context: everyone, friends, mine + */ + +// give plugins an opportunity to add to content sidebars +$sidebar_content = elgg_get_array_value('sidebar', $vars, ''); +$params = $vars; +$params['content'] = $sidebar_content; +$sidebar = elgg_view('content/sidebar', $params); + +// navigation defaults to breadcrumbs +$nav = elgg_get_array_value('nav', $vars, elgg_view('navigation/breadcrumbs')); + +// allow page handlers to override the default header +if (isset($vars['header'])) { + $vars['header_override'] = $vars['header']; +} +$header = elgg_view('content/header', $vars); + +// allow page handlers to override the default filter +if (isset($vars['filter'])) { + $vars['filter_override'] = $vars['filter']; +} +$filter = elgg_view('content/filter', $vars); + +// the all important content +$content = elgg_get_array_value('content', $vars, ''); + +// optional footer for main content area +$footer_content = elgg_get_array_value('footer', $vars, ''); +$params = $vars; +$params['content'] = $footer_content; +$footer = elgg_view('content/footer', $params); + +$body = $nav . $header . $filter . $content . $footer; + +$params = array( + 'content' => $body, + 'sidebar' => $sidebar, +); +echo elgg_view_layout('one_column_with_sidebar', $params); |