PhucSD
08-06-2011, 11:26 AM
Cái hướng dẫn ở dưới là dùng để thêm Tag Cloud Flash vào vBCMS
Còn đây mình sẽ hướng dẫn cách thêm đám mây Tag dạng Flash vào Forum
Bạn vào ACP=> Forum & Moderators =>Forum Blocks Manager => Add Block
Title: Tag Cloud
Description: Bỏ trống hay điền gì cũng đc
Content Type: Chọn PHP
Content: Điền vào code sau
$flashWidth = 240; $flashHeight = 240; $flashPath = 'tagcloud.swf'; $flashBackgroundColor = 'ffffff'; $tagCount = 30; $tagMaxSize = 16; $tagMinSize = 8;
// Colors are in hex $data['tcolor'] = '0x000000'; $data['tcolor2'] = '0x336699'; $data['hicolor'] = '0x000000'; $data['speed'] = 100; $data['distr'] = 'true'; $data['mode'] = 'tags';
$contentTypes = array(2=>'tags.php?tag=',15=>'blog.php?tag=');
/* No Editing Below This Line*/
global $vbulletin;
// %d
$query = sprintf("SELECT Tag.tagid, Tag.tagtext, TagContent.contenttypeid, COUNT( TagContent.tagid ) AS count FROM ".TABLE_PREFIX."tag AS Tag LEFT JOIN ".TABLE_PREFIX."tagcontent AS TagContent ON ( Tag.tagid = TagContent.tagid ) GROUP BY TagContent.tagid ORDER BY count DESC LIMIT %d",$tagCount);
$qtags = vB::$db->query_read($query);
while($tag = vB::$db->fetch_array($qtags)) { $tags[] = $tag; $tagSize[$tag['tagtext']] = $tag['count']; }
// largest and smallest array values $maxQty = max(array_values($tagSize)); $minQty = min(array_values($tagSize));
$spread = $maxQty - $minQty; if ($spread == 0) { $spread = 1; }
$step = ($tagMaxSize - $tagMinSize) / ($spread);
// make the tag cloud $tagsHTML = ""; foreach ($tags as $tag) { $size = round($tagMinSize + (($tag['count'] - $minQty) * $step)); $text = $tag['tagtext'];
$url = $vbulletin->options['homeurl'].'/'.$contentTypes[$tag['contenttypeid']].urlencode($tag['tagtext']); $tagsHTML .= "<a href='$url' style='$size'>$text</a>"; }
$data['tagcloud'] = '<tags>'.$tagsHTML.'</tags>';
$flashVars = "";
foreach($data as $var=>$val) { $flashVars .= (empty ($flashVars))?'':'&'; $flashVars .= "$var=".urlencode($val); }
ob_start(); ?> <embed width="<?php echo $flashWidth;?>" height="<?php echo $flashHeight;?>" flashvars="<?php echo $flashVars;?>" wmode="transparent" allowscriptaccess="always" quality="high" bgcolor="#<?php echo $flashBackgroundColor;?>" name="vbCloudFlash" id="vbCloudFlash" style="" src="<?php echo $vbulletin->options['homeurl'].'/'.$flashPath;?>" type="application/x-shockwave-flash"/> <?php
$content = ob_get_contents(); ob_end_clean();
$output = $content;
Save !
Done!
Live Demo (http://vietgamer.net/)
Flash Tag Cloud
Released 6/3/2010
By Vikas - http://www.ngcoders.com (http://www.ngcoders.com/)
Demo - http://www.roboticsindia.com (http://www.roboticsindia.com/) , Look at left sidebar
Installation
Goto Admincp->vBullietin CMS->Widgets->Create New Widget
Choose PHP Direct Execution as Widget's Type
Place a Title. eg Upcoming Events. Keep it short as this is what will appear as title on your pages.
Click Save
Click Configure on the right of the new created widget.
Remove the default code that appears. Be sure to not leave behind even a single letter.
Copy and Paste the code that you can find below.
Leave the template name as is (vbcms_widget_execphp_page)
Click Save
Goto Admincp->vBullietin CMS->Layout Manager
Click Go on the Default Layout
Add the Widget to your Layout
Click Save
Download the attached tagcloud.zip and extract it.
Upload tagcloud.swf to root directory of your vbulletin install
That's all !!
PHP Code
$flashWidth = 330;
$flashHeight = 330;
$flashPath = 'tagcloud.swf';
$flashBackgroundColor = 'ffffff';
$tagCount = 30;
$tagMaxSize = 16;
$tagMinSize = 8;
// Colors are in hex
$data['tcolor'] = '0x000000';
$data['tcolor2'] = '0x336699';
$data['hicolor'] = '0x000000';
$data['speed'] = 100;
$data['distr'] = 'true';
$data['mode'] = 'tags';
$contentTypes = array(2=>'tags.php?tag=',15=>'blog.php?tag=');
/* No Editing Below This Line*/
global $vbulletin;
// %d
$query = sprintf("SELECT Tag.tagid, Tag.tagtext, TagContent.contenttypeid, COUNT( TagContent.tagid ) AS count FROM ".TABLE_PREFIX."tag AS Tag LEFT JOIN ".TABLE_PREFIX."tagcontent AS TagContent ON ( Tag.tagid = TagContent.tagid ) GROUP BY TagContent.tagid ORDER BY count DESC LIMIT %d",$tagCount);
$qtags = vB::$db->query_read($query);
while($tag = vB::$db->fetch_array($qtags)) {
$tags[] = $tag;
$tagSize[$tag['tagtext']] = $tag['count'];
}
// largest and smallest array values
$maxQty = max(array_values($tagSize));
$minQty = min(array_values($tagSize));
$spread = $maxQty - $minQty;
if ($spread == 0) {
$spread = 1;
}
$step = ($tagMaxSize - $tagMinSize) / ($spread);
// make the tag cloud
$tagsHTML = "";
foreach ($tags as $tag)
{
$size = round($tagMinSize + (($tag['count'] - $minQty) * $step));
$text = $tag['tagtext'];
$url = $vbulletin->options['homeurl'].'/'.$contentTypes[$tag['contenttypeid']].urlencode($tag['tagtext']);
$tagsHTML .= "<a href='$url' style='$size'>$text</a>";
}
$data['tagcloud'] = '<tags>'.$tagsHTML.'</tags>';
$flashVars = "";
foreach($data as $var=>$val)
{
$flashVars .= (empty ($flashVars))?'':'&';
$flashVars .= "$var=".urlencode($val);
}
ob_start();
?>
<embed width="<?php echo $flashWidth;?>" height="<?php echo $flashHeight;?>" flashvars="<?php echo $flashVars;?>" wmode="transparent" allowscriptaccess="always" quality="high" bgcolor="#<?php echo $flashBackgroundColor;?>" name="vbCloudFlash" id="vbCloudFlash" style="" src="<?php echo $vbulletin->options['homeurl'].'/'.$flashPath;?>" type="application/x-shockwave-flash"/>
<?php
$content = ob_get_contents();
ob_end_clean();
$output = $content;
It is based on WP-Cumulus , to change settings please refer to this page -
http://www.roytanck.com/2009/03/11/h...us-shortcodes/
(http://www.roytanck.com/2009/03/11/how-to-use-wp-cumulus-shortcodes/)
(http://www.roytanck.com/2009/03/11/how-to-use-wp-cumulus-shortcodes/)
Còn đây mình sẽ hướng dẫn cách thêm đám mây Tag dạng Flash vào Forum
Bạn vào ACP=> Forum & Moderators =>Forum Blocks Manager => Add Block
Title: Tag Cloud
Description: Bỏ trống hay điền gì cũng đc
Content Type: Chọn PHP
Content: Điền vào code sau
$flashWidth = 240; $flashHeight = 240; $flashPath = 'tagcloud.swf'; $flashBackgroundColor = 'ffffff'; $tagCount = 30; $tagMaxSize = 16; $tagMinSize = 8;
// Colors are in hex $data['tcolor'] = '0x000000'; $data['tcolor2'] = '0x336699'; $data['hicolor'] = '0x000000'; $data['speed'] = 100; $data['distr'] = 'true'; $data['mode'] = 'tags';
$contentTypes = array(2=>'tags.php?tag=',15=>'blog.php?tag=');
/* No Editing Below This Line*/
global $vbulletin;
// %d
$query = sprintf("SELECT Tag.tagid, Tag.tagtext, TagContent.contenttypeid, COUNT( TagContent.tagid ) AS count FROM ".TABLE_PREFIX."tag AS Tag LEFT JOIN ".TABLE_PREFIX."tagcontent AS TagContent ON ( Tag.tagid = TagContent.tagid ) GROUP BY TagContent.tagid ORDER BY count DESC LIMIT %d",$tagCount);
$qtags = vB::$db->query_read($query);
while($tag = vB::$db->fetch_array($qtags)) { $tags[] = $tag; $tagSize[$tag['tagtext']] = $tag['count']; }
// largest and smallest array values $maxQty = max(array_values($tagSize)); $minQty = min(array_values($tagSize));
$spread = $maxQty - $minQty; if ($spread == 0) { $spread = 1; }
$step = ($tagMaxSize - $tagMinSize) / ($spread);
// make the tag cloud $tagsHTML = ""; foreach ($tags as $tag) { $size = round($tagMinSize + (($tag['count'] - $minQty) * $step)); $text = $tag['tagtext'];
$url = $vbulletin->options['homeurl'].'/'.$contentTypes[$tag['contenttypeid']].urlencode($tag['tagtext']); $tagsHTML .= "<a href='$url' style='$size'>$text</a>"; }
$data['tagcloud'] = '<tags>'.$tagsHTML.'</tags>';
$flashVars = "";
foreach($data as $var=>$val) { $flashVars .= (empty ($flashVars))?'':'&'; $flashVars .= "$var=".urlencode($val); }
ob_start(); ?> <embed width="<?php echo $flashWidth;?>" height="<?php echo $flashHeight;?>" flashvars="<?php echo $flashVars;?>" wmode="transparent" allowscriptaccess="always" quality="high" bgcolor="#<?php echo $flashBackgroundColor;?>" name="vbCloudFlash" id="vbCloudFlash" style="" src="<?php echo $vbulletin->options['homeurl'].'/'.$flashPath;?>" type="application/x-shockwave-flash"/> <?php
$content = ob_get_contents(); ob_end_clean();
$output = $content;
Save !
Done!
Live Demo (http://vietgamer.net/)
Flash Tag Cloud
Released 6/3/2010
By Vikas - http://www.ngcoders.com (http://www.ngcoders.com/)
Demo - http://www.roboticsindia.com (http://www.roboticsindia.com/) , Look at left sidebar
Installation
Goto Admincp->vBullietin CMS->Widgets->Create New Widget
Choose PHP Direct Execution as Widget's Type
Place a Title. eg Upcoming Events. Keep it short as this is what will appear as title on your pages.
Click Save
Click Configure on the right of the new created widget.
Remove the default code that appears. Be sure to not leave behind even a single letter.
Copy and Paste the code that you can find below.
Leave the template name as is (vbcms_widget_execphp_page)
Click Save
Goto Admincp->vBullietin CMS->Layout Manager
Click Go on the Default Layout
Add the Widget to your Layout
Click Save
Download the attached tagcloud.zip and extract it.
Upload tagcloud.swf to root directory of your vbulletin install
That's all !!
PHP Code
$flashWidth = 330;
$flashHeight = 330;
$flashPath = 'tagcloud.swf';
$flashBackgroundColor = 'ffffff';
$tagCount = 30;
$tagMaxSize = 16;
$tagMinSize = 8;
// Colors are in hex
$data['tcolor'] = '0x000000';
$data['tcolor2'] = '0x336699';
$data['hicolor'] = '0x000000';
$data['speed'] = 100;
$data['distr'] = 'true';
$data['mode'] = 'tags';
$contentTypes = array(2=>'tags.php?tag=',15=>'blog.php?tag=');
/* No Editing Below This Line*/
global $vbulletin;
// %d
$query = sprintf("SELECT Tag.tagid, Tag.tagtext, TagContent.contenttypeid, COUNT( TagContent.tagid ) AS count FROM ".TABLE_PREFIX."tag AS Tag LEFT JOIN ".TABLE_PREFIX."tagcontent AS TagContent ON ( Tag.tagid = TagContent.tagid ) GROUP BY TagContent.tagid ORDER BY count DESC LIMIT %d",$tagCount);
$qtags = vB::$db->query_read($query);
while($tag = vB::$db->fetch_array($qtags)) {
$tags[] = $tag;
$tagSize[$tag['tagtext']] = $tag['count'];
}
// largest and smallest array values
$maxQty = max(array_values($tagSize));
$minQty = min(array_values($tagSize));
$spread = $maxQty - $minQty;
if ($spread == 0) {
$spread = 1;
}
$step = ($tagMaxSize - $tagMinSize) / ($spread);
// make the tag cloud
$tagsHTML = "";
foreach ($tags as $tag)
{
$size = round($tagMinSize + (($tag['count'] - $minQty) * $step));
$text = $tag['tagtext'];
$url = $vbulletin->options['homeurl'].'/'.$contentTypes[$tag['contenttypeid']].urlencode($tag['tagtext']);
$tagsHTML .= "<a href='$url' style='$size'>$text</a>";
}
$data['tagcloud'] = '<tags>'.$tagsHTML.'</tags>';
$flashVars = "";
foreach($data as $var=>$val)
{
$flashVars .= (empty ($flashVars))?'':'&';
$flashVars .= "$var=".urlencode($val);
}
ob_start();
?>
<embed width="<?php echo $flashWidth;?>" height="<?php echo $flashHeight;?>" flashvars="<?php echo $flashVars;?>" wmode="transparent" allowscriptaccess="always" quality="high" bgcolor="#<?php echo $flashBackgroundColor;?>" name="vbCloudFlash" id="vbCloudFlash" style="" src="<?php echo $vbulletin->options['homeurl'].'/'.$flashPath;?>" type="application/x-shockwave-flash"/>
<?php
$content = ob_get_contents();
ob_end_clean();
$output = $content;
It is based on WP-Cumulus , to change settings please refer to this page -
http://www.roytanck.com/2009/03/11/h...us-shortcodes/
(http://www.roytanck.com/2009/03/11/how-to-use-wp-cumulus-shortcodes/)
(http://www.roytanck.com/2009/03/11/how-to-use-wp-cumulus-shortcodes/)