]> git.decadent.org.uk Git - maypole.git/blobdiff - templates/factory/view
Maypole::Application supports Maypole::HTTPD (which needs a patch).
[maypole.git] / templates / factory / view
index 64c760b11cc0f9672957bf8669828e143e5b2276..328678c73d98c86d84d5be888540b756e4881c25 100644 (file)
@@ -1,35 +1,34 @@
+[%#
+
+=for doc
+
+The C<view> template takes some objects (usually just one) from
+C<objects> and displays the object's properties in a table. 
+
+=cut
+
+#%]
 [% PROCESS macros %]
 [% INCLUDE header %]
-
 [% FOR item = objects %]
-<h2> [% item.name %]</h2>
+[% view_item(item); %]
+[%#
 
-[% INCLUDE navbar %]
+=for doc
 
-<TABLE class="view">
-    <TR><TD class="field">Name</TD><TD> [% item.name %] </TD></TR>
-[% 
-    FOR col = classmetadata.columns.list;
-    NEXT IF col == "id" OR col == "name";
-    NEXT UNLESS item.$col;
-%]
-
-<TR>
-    <TD class="field"> [% classmetadata.colnames.$col; %] </TD>
-    <TD> [%
+The C<view> template also displays a list of other objects related to the first
+one via C<has_many> style relationships; this is done by calling the
+C<related_accessors> method - see L<Model/related_accessors> - to return
+a list of has-many accessors. Next it calls each of those accessors, and
+displays the results in a table.
 
-    IF col == "url";  # Possibly too much magic.
-                "<A HREF="; item.url; "> "; item.url; "</A>";
-    ELSE;
-    maybe_link_view(item.$col); END;
-    %] </TD>
-</TR>
-[% END; %]
-</TABLE>
+#%]
+    <br /><a href="[%base%]/[%item.table%]/list">Back to listing</a>
+[% view_related(item); %]
+    
 [%
-    view_related(item);
     button(item, "edit");
     button(item, "delete");
 %]
 [% END; %]
-
+[% INCLUDE footer %]