aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCash Costello <cash.costello@gmail.com>2011-10-25 16:34:22 -0700
committerCash Costello <cash.costello@gmail.com>2011-10-25 16:34:22 -0700
commit01119f1713739c4d9b0c2aaa00168a498569c37f (patch)
tree0a09b2166085b5f477761f7131c23e4e6f633958
parent65bd37c1f0e3e3adb04bd48dad6183bcd3c7e26c (diff)
parent5c43ddc2d58dbe7a280742131f221e4947f73125 (diff)
downloadelgg-01119f1713739c4d9b0c2aaa00168a498569c37f.tar.gz
elgg-01119f1713739c4d9b0c2aaa00168a498569c37f.tar.bz2
Merge pull request #80 from cash/styling_content
Fixes #3960 and #2292 making it easier to style and extend content pages
-rw-r--r--mod/blog/views/default/object/blog.php17
-rw-r--r--mod/bookmarks/views/default/object/bookmarks.php18
-rw-r--r--mod/file/views/default/object/file.php23
-rw-r--r--mod/pages/views/default/object/page_top.php15
-rw-r--r--views/default/object/elements/full.php45
-rw-r--r--views/default/object/elements/summary.php3
6 files changed, 84 insertions, 37 deletions
diff --git a/mod/blog/views/default/object/blog.php b/mod/blog/views/default/object/blog.php
index b51b769a2..05ddf62c7 100644
--- a/mod/blog/views/default/object/blog.php
+++ b/mod/blog/views/default/object/blog.php
@@ -66,8 +66,6 @@ if ($full) {
'class' => 'blog-post',
));
- $header = elgg_view_title($blog->title);
-
$params = array(
'entity' => $blog,
'title' => false,
@@ -76,15 +74,14 @@ if ($full) {
'tags' => $tags,
);
$params = $params + $vars;
- $list_body = elgg_view('object/elements/summary', $params);
+ $summary = elgg_view('object/elements/summary', $params);
- $blog_info = elgg_view_image_block($owner_icon, $list_body);
-
- echo <<<HTML
-$header
-$blog_info
-$body
-HTML;
+ echo elgg_view('object/elements/full', array(
+ 'title' => $blog->title,
+ 'summary' => $summary,
+ 'icon' => $owner_icon,
+ 'body' => $body,
+ ));
} else {
// brief view
diff --git a/mod/bookmarks/views/default/object/bookmarks.php b/mod/bookmarks/views/default/object/bookmarks.php
index bdd623bb5..ba8029a54 100644
--- a/mod/bookmarks/views/default/object/bookmarks.php
+++ b/mod/bookmarks/views/default/object/bookmarks.php
@@ -58,7 +58,6 @@ if (elgg_in_context('widgets')) {
}
if ($full && !elgg_in_context('gallery')) {
- $header = elgg_view_title($bookmark->title);
$params = array(
'entity' => $bookmark,
@@ -68,19 +67,24 @@ if ($full && !elgg_in_context('gallery')) {
'tags' => $tags,
);
$params = $params + $vars;
- $list_body = elgg_view('object/elements/summary', $params);
- $bookmark_info = elgg_view_image_block($owner_icon, $list_body);
+ $summary = elgg_view('object/elements/summary', $params);
$bookmark_icon = elgg_view_icon('push-pin-alt');
- echo <<<HTML
-$header
-$bookmark_info
+ $body = <<<HTML
<div class="bookmark elgg-content mts">
$bookmark_icon<span class="elgg-heading-basic mbs">$link</span>
$description
</div>
HTML;
+ echo elgg_view('object/elements/full', array(
+ 'entity' => $bookmark,
+ 'title' => $bookmark->title,
+ 'icon' => $owner_icon,
+ 'summary' => $summary,
+ 'body' => $body,
+ ));
+
} elseif (elgg_in_context('gallery')) {
echo <<<HTML
<div class="bookmarks-gallery-item">
@@ -124,4 +128,4 @@ HTML;
$body = elgg_view('object/elements/summary', $params);
echo elgg_view_image_block($owner_icon, $body);
-} \ No newline at end of file
+}
diff --git a/mod/file/views/default/object/file.php b/mod/file/views/default/object/file.php
index 874d8fb07..81421133f 100644
--- a/mod/file/views/default/object/file.php
+++ b/mod/file/views/default/object/file.php
@@ -19,8 +19,6 @@ $excerpt = elgg_get_excerpt($file->description);
$mime = $file->mimetype;
$base_type = substr($mime, 0, strpos($mime,'/'));
-$body = elgg_view('output/longtext', array('value' => $file->description));
-
$owner_link = elgg_view('output/url', array(
'href' => "file/owner/$owner->username",
'text' => $owner->name,
@@ -69,8 +67,6 @@ if ($full && !elgg_in_context('gallery')) {
$extra = elgg_view("file/specialcontent/$base_type/default", $vars);
}
- $header = elgg_view_title($file->title);
-
$params = array(
'entity' => $file,
'title' => false,
@@ -79,17 +75,18 @@ if ($full && !elgg_in_context('gallery')) {
'tags' => $tags,
);
$params = $params + $vars;
- $list_body = elgg_view('object/elements/summary', $params);
+ $summary = elgg_view('object/elements/summary', $params);
- $file_info = elgg_view_image_block($file_icon, $list_body);
+ $text = elgg_view('output/longtext', array('value' => $file->description));
+ $body = "$text $extra";
- echo <<<HTML
-$file_info
-<div class="file elgg-content">
- $body
- $extra
-</div>
-HTML;
+ echo elgg_view('object/elements/full', array(
+ 'entity' => $file,
+ 'title' => false,
+ 'icon' => $file_icon,
+ 'summary' => $summary,
+ 'body' => $body,
+ ));
} elseif (elgg_in_context('gallery')) {
echo '<div class="file-gallery-item">';
diff --git a/mod/pages/views/default/object/page_top.php b/mod/pages/views/default/object/page_top.php
index 08cdd6e2d..0a1c33458 100644
--- a/mod/pages/views/default/object/page_top.php
+++ b/mod/pages/views/default/object/page_top.php
@@ -86,14 +86,15 @@ if ($full) {
'tags' => $tags,
);
$params = $params + $vars;
- $list_body = elgg_view('object/elements/summary', $params);
-
- $info = elgg_view_image_block($page_icon, $list_body);
+ $summary = elgg_view('object/elements/summary', $params);
- echo <<<HTML
-$info
-$body
-HTML;
+ echo elgg_view('object/elements/full', array(
+ 'entity' => $page,
+ 'title' => false,
+ 'icon' => $page_icon,
+ 'summary' => $summary,
+ 'body' => $body,
+ ));
} else {
// brief view
diff --git a/views/default/object/elements/full.php b/views/default/object/elements/full.php
new file mode 100644
index 000000000..4a2991442
--- /dev/null
+++ b/views/default/object/elements/full.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Object full rendering
+ *
+ * Sample output
+ * <h2>Title</h3>
+ * <div class="elgg-content">
+ * <div class="elgg-image-block">
+ * </div>
+ * <div class="elgg-output">
+ * </div>
+ * </div>
+ *
+ * @uses $vars['entity'] ElggEntity
+ * @uses $vars['title'] Title (false for no title)
+ * @uses $vars['icon'] HTML for the content icon
+ * @uses $vars['summary'] HTML for the content summary
+ * @uses $vars['body'] HTML for the content body
+ * @uses $vars['class'] Optional additional class for the content wrapper
+ */
+
+$title = elgg_extract('title', $vars);
+$icon = elgg_extract('icon', $vars);
+$summary = elgg_extract('summary', $vars);
+$body = elgg_extract('body', $vars);
+$class = elgg_extract('class', $vars);
+if ($class) {
+ $class = "elgg-content $class";
+} else {
+ $class = "elgg-content";
+}
+
+if ($title) {
+ $title = elgg_view_title($title);
+}
+
+$header = elgg_view_image_block($icon, $summary);
+
+echo <<<HTML
+$title
+<div class="$class">
+$header
+$body
+</div>
+HTML;
diff --git a/views/default/object/elements/summary.php b/views/default/object/elements/summary.php
index 3ca4de2be..8d82bc52a 100644
--- a/views/default/object/elements/summary.php
+++ b/views/default/object/elements/summary.php
@@ -49,6 +49,9 @@ if ($metadata) {
echo "<h3>$title_link</h3>";
echo "<div class=\"elgg-subtext\">$subtitle</div>";
echo $tags;
+
+echo elgg_view('object/summary/extend', $vars);
+
if ($content) {
echo "<div class=\"elgg-content\">$content</div>";
}