|
Date: 3/22/2006 10:05 am · Subject: Re: last news · Rating: 4
Now all works. Probably, it is useful to somebody else except for me. It collects the latest news from several Collaboration and displays: Title, Synopsis, Thumbnail, Chapter name, Date&Time, Link to news body,
Marked by a bold font change by the necessity: S Q L: SELECT assetData.url, assetData.title, assetData.assetId, assetData.groupIdView, assetData.synopsis, Post.storageId, Post.dateSubmitted, assetData.status, Post.assetId, assetData.revisionDate, asset.state, asset.parentId, p.title AS parent FROM assetData LEFT JOIN Post ON assetData.assetId=Post.assetId LEFT JOIN asset ON assetData.assetId=asset.assetId LEFT JOIN assetData as p ON p.assetId = asset.parentId WHERE assetData.status = 'approved' AND asset.state = 'published' AND asset.className = 'WebGUI::Asset::Post::Thread' AND (assetData.url LIKE 'news/%' OR assetData.url LIKE 'photos/%') AND assetData.groupIdView = 7 AND assetData.revisionDate=(SELECT MAX(assetData.revisionDate) FROM assetData WHERE assetData.assetId=asset.assetId) AND Post.revisionDate=assetData.revisionDate GROUP BY assetData.assetId ORDER BY Post.dateSubmitted DESC LIMIT 5 T E M P L A T E: <a name="<tmpl_var assetId>"></a> <tmpl_if session.var.adminOn> <p><tmpl_var controls></p> </tmpl_if> <tmpl_if displayTitle> <h1><tmpl_var title></h1> </tmpl_if> <tmpl_if description> <tmpl_var description><p /> </tmpl_if> <tmpl_if debugMode> <ul> <tmpl_loop debug_loop> <li><tmpl_var debug.output></li> </tmpl_loop> </ul> </tmpl_if> <table width="95%" cellpadding=2 cellspacing=1 border=0> <tmpl_loop rows_loop> <tr><td> <a href="/<tmpl_var row.field.url.value>#<tmpl_var row.field.assetId.value>"><div class="tableHeader"><tmpl_var row.field.title.value></div></a> <a href="/<tmpl_var row.field.url.value>#<tmpl_var row.field.assetId.value>"><img class="thumbnail" src="^ThumbURL(<tmpl_var row.field.storageId.value>);" border="0" align="left"/></a> <div class="synopsis"> <tmpl_var row.field.synopsis.value> </div><br> <div align="left"> ^D("%D.%m.%y %j:%m",<tmpl_var row.field.dateSubmitted.value>);</div> (<b>Chapter:</b> <i><tmpl_var row.field.parent.value></i>) <div align="right"> ( <a href="/<tmpl_var row.field.url.value>#<tmpl_var row.field.assetId.value>">More...</a>)</div><p /> </td></tr> </tmpl_loop> </table> <tmpl_if pagination.pageCount.isMultiple> <div class="pagination"> <tmpl_var pagination.previousPage> <tmpl_var pagination.pageList.upTo20> <tmpl_var pagination.nextPage> </div> </tmpl_if> M A C R O: package WebGUI::Macro::ThumbURL; #------------------------------------------------------------------- use strict; use WebGUI::Session; use WebGUI::Storage; use WebGUI::Storage::Image; #------------------------------------------------------------------- sub process { my $storageId = shift; my $storage = WebGUI::Storage::Image->get($storageId); my $url; foreach my $filename (@{$storage->getFiles}) { if ($storage->isImage($filename)) { $url = $storage->getThumbnailUrl($filename); last; } } if ($url eq '') {$url = '/extras/spacer.gif';} return $url; } 1; Vladimir Vitkovsky http://www.webgui.uanet.biz/ http://www.transport.su/
--- (Edited on 22-March-2006 18:05 [GMT+0200] by Vitkovsky) ---
|