The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
Accessing Database Value from a Template.
I want to access a database value from a VB template. The template is shown below. I have a new field in the 'attachment' table, called 'external_source' by default this will be zero, but if it is a 1, I want to produce different HTML code.
HTML Code:
<li> <vb:if condition="$picture['hasthumbnail']"> <vb:if condition="$picture['external_source'] == 0"> <a href="album.php?{vb:raw session.sessionurl}albumid={vb:raw albuminfo.albumid}&attachmentid={vb:raw picture.attachmentid}"><img src="http://www.solent-renegades.co.uk/attachment.php?{vb:raw session.sessionurl}attachmentid={vb:raw picture.attachmentid}&thumb=1" alt="{vb:raw picture.caption}" title="{vb:raw picture.caption} from {vb:raw albuminfo.title}" border="0" {vb:raw picture.dimensions}/></a> <table width="120" height="60"><tr><td>{vb:raw picture.caption} from {vb:raw albuminfo.title}</td></tr></table> <vb:else /> --action if we have an external source. </vb:if> <vb:else /> <a class="picture" href="album.php?{vb:raw session.sessionurl}albumid={vb:raw albuminfo.albumid}&attachmentid={vb:raw picture.attachmentid}"><vb:if condition="$picture['caption_preview']">{vb:raw picture.caption_preview}<vb:else />{vb:rawphrase picture}</vb:if></a> </vb:if> <vb:if condition="$show['moderation']"><span class="shade">{vb:rawphrase picture_moderated}</span></vb:if> </li> Code:
$pictures = $db->query_read(" SELECT a.attachmentid, a.userid, a.caption, a.dateline, a.state, a.filename, a.external_source, fd.filesize, IF(fd.thumbnail_filesize > 0, 1, 0) AS hasthumbnail, fd.thumbnail_dateline, fd.thumbnail_width, fd.thumbnail_height $hook_query_fields FROM " . TABLE_PREFIX . "attachment AS a INNER JOIN " . TABLE_PREFIX . "filedata AS fd ON (fd.filedataid = a.filedataid) $hook_query_joins WHERE a.contentid = $albuminfo[albumid] AND a.contenttypeid = " . intval($contenttypeid) . " " . ((!can_moderate(0, 'canmoderatepictures') AND $albuminfo['userid'] != $vbulletin->userinfo['userid']) ? "AND a.state = 'visible'" : "") . " $hook_query_where ORDER BY a.dateline DESC LIMIT $start, $perpage "); Each individual pictures is fetched from while ($picture = $db->fetch_array($pictures)) So in the template code I would expect pictures.external_source to contain the data from the database. Something isn't working right. Is there some other process it goes through to pass data from album.php to the 'album_picturebit' template? |
#2
|
||||
|
||||
Quote:
Also, as a rule of thumb, it's best not to modify the core files - you should be able to utilize $hook_query_fields with the nearest hook to avoid making core changes to the code. Making core changes to the vB codebase is inadvisable as it can make it more difficult to upgrade, and usually means after upgrading the same changes need to be carried out again. |
#3
|
|||
|
|||
Thanks for the response, much appreciated.
Where would i put the var_dump? in the Template? I have tried a few different formats, but either get an error or no output. {vb:raw var_dump($pictures)} {vb:var_dump($pictures)} |
#4
|
||||
|
||||
Quote:
Might also be worth putting exit after it too, so the var_dump is the only output. PHP Code:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|