يه سوال

saeed_se2000

New Member
اقا چه جوري ميشه كاري كرد كه وقتي ماوس را ميبري روي يه تاپيك يه چند خط از محتواي توش را توي اون صفحه زردا مثل انجمن شما نشون بده
آيا تو phpbb ممكنه يا فقط تو vb ميشه
اگه ممكنه آموزش بدين
 

Hyper

Active Member
در phpBB برای این کار باید یک مود نصب کنید

من در تالارم نصب کردم
اجازه بدید براتون پیدا میکنم و اینجا میزارم ...
 

Hyper

Active Member
پیداش کردم :
کد:
############################################################## 
## MOD Title: display first message as hover title
## MOD Author: emrag < [email protected] > (Emrah Türkmen)  www.canver.net  (TURKEY)
## MOD Description: with this hack when you hover the mouse on topic link you
##		    will see first message as hover title like vBulletin Boards ;)
##
## MOD Version: 1.1.0
## 
## Installation Level: Easy
## Installation Time : ~5 minutes 
## Files to Edit: viewforum.php
##		  templates/subsilver/viewforum_body.tpl
##
## Included Files: n/a
############################################################## 
##
## Author Note: 
##
##	- The javascript you will add to viewforum_body.tpl comes from Mojavlinuxs MyCalendar 2.2.6 
##	( http://www.mojavelinux.com/ )
##
##############################################################
##
## MOD History: 25.09.2004 - 1.0.0
##		- First release
##
##		07.10.2004 - 1.0.1
##		- Fixed a bug - thanx to Clock
##
##		25.11.2004 - 1.0.2
##		- added a character limit for hover title - you can change this value ;)
##		(before if message is too long hover title wont be display. Now fixed) 
##		
##		- EasyMod compitable
##
##		01.03.2005 - 1.1.0
##		- compitable with bbcodes
##		- now hover title show smilies :)
##		- compitable with MODE "HIDE" - author: Philiweb 
##		- now using a javascript code for hover title - author: MojavLinux
##		- fixed a bug about single and double quotes - ", 
##		- i think this version is compitable with EasyMod but i didnt test it :(
##
##############################################################
##
## Before Adding This Hack To Your Forum, You Should Back Up All Files Related To This Hack  
##
############################################################## 
# 
#-----[ OPEN ]------------------------------------------ 
# 

viewforum.php

#
#----[ FIND ]------------------------------------------ 
#

include($phpbb_root_path . common..$phpEx);

#
#----[ AFTER, ADD ]------------------------------------------ 
#

include($phpbb_root_path . includes/bbcode..$phpEx);

#
#----[ FIND ]------------------------------------------ 
#

		$row_color = ( !($i % 2) ) ? $theme[td_color1] : $theme[td_color2];
		$row_class = ( !($i % 2) ) ? $theme[td_class1] : $theme[td_class2];

#
#-----[ AFTER, ADD ]------------------------------------------ 
# 

//
// display first message as title by emrag ;)
//

		//
		// character limit for hover title
		//
		$chr_limit = 1000;

		$sql = "SELECT p.*,  pt.post_text, pt.post_id, pt.bbcode_uid
			FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt
			WHERE p.topic_id = $topic_id
				AND pt.post_id = p.post_id
			ORDER BY p.post_time
			LIMIT 1";
		if ( !($result = $db->sql_query($sql)) )
		{
		   message_die(GENERAL_ERROR, Could not obtain topic information, , __LINE__, __FILE__, $sql);
		}

		$row = $db->sql_fetchrow($result);
		$first_post = $row[post_text];
		$first_post_bbcode_uid = $row[bbcode_uid];

	//
	// if message is longer than character limit break message
	// and add "..." at the last of message
	//
	if (strlen($first_post) > $chr_limit)
	{
		$first_post = substr($first_post, 0, $chr_limit);
		$first_post .= ...;
	}

	//
	// If the board has HTML off but the post has HTML
	// on then we process it, else leave it alone
	//
	if ( !$board_config[allow_html] )
	{
		if ( $row[enable_html] )
		{
			$first_message = preg_replace(#(<)([/]?.*?)(>)#is, "&lt;\2&gt;", $first_post);
		}
	}

	//
	// Parse message for BBCode if required
	//
	if ( $board_config[allow_bbcode] )
	{
		if ( $first_post_bbcode_uid !=  )
		{
			$first_post = ( $board_config[allow_bbcode] ) ? bbencode_second_pass($first_post, $first_post_bbcode_uid) : preg_replace(/:[0-9a-z:]+]/si, ], $first_post);
		}
	}

	//
	// Parse smilies
	//
	if ( $board_config[allow_smilies] )
	{
		if ( $row[enable_smilies] )
		{
			$first_post = smilies_pass($first_post);
		}
	}

	//
	// replace 
 with <br />
	//
	$first_post = preg_replace("/[

]{1,2}/", <br />, $first_post);

	//
	// escape from double and/or single quotes
	//
	$first_post = str_replace(array(", ), array(&quot;, \), $first_post);

	//
	// if message have [hide] [/hide] tags
	// there will be an error message instead of normal message
	//
	if ( preg_match("/[hide]/i", $first_post) && preg_match("/[/hide]/i", $first_post))
	{
		$first_post = <b>Protected message:</b><br>If you are a <b>*registered user*</b> :<br>you must post a reply to this topic to see the message;
	}

//
// display first message as title by emrag ;)
//

#
#----[ FIND ]------------------------------------------ 
#

			TOPIC_FOLDER_IMG => $folder_image, 
			TOPIC_AUTHOR => $topic_author, 

#
#-----[ BEFORE, ADD ]------------------------------------------ 
# 

			FIRST_POST => $first_post,

# 
#-----[ OPEN ]------------------------------------------ 
# 

templates/subsilver/viewforum_body.tpl

#
#----[ FIND ]------------------------------------------ 
#
# at the top of the page

<form method="post" action="{S_POST_DAYS_ACTION}">
  <table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">

#
#----[ BEFORE, ADD ]------------------------------------------ 
#
# at the top of the page

<!-- The javascript presents here comes from MyCalendar 2.2.6 from MojavLinux -->
<script language="Javascript" type="text/javascript">
<!--
var agt = navigator.userAgent.toLowerCase();
var originalFirstChild;

function createTitle(which, string, x, y)
{
	// record the original first child (protection when deleting)
	if (typeof(originalFirstChild) == undefined)
	{
		originalFirstChild = document.body.firstChild;
	}

	x = document.all ? (event.clientX + document.body.scrollLeft) : x;
	y = document.all ? (event.clientY + document.body.scrollTop) : y;
	element = document.createElement(div);
	element.style.position = absolute;
	element.style.zIndex = 1000;
	element.style.visibility = hidden;
	excessWidth = 0;
	if (document.all)
	{
		excessWidth = 50;
	}
	excessHeight = 20;
	element.innerHTML = <div class="bodyline"><table width="300" cellspacing="0" cellpadding="0" border="0"><tr><td><table width="100%"><tr><td><span class="gen"> + string + </span></td></tr></table></td></tr></table></div>;
	renderedElement = document.body.insertBefore(element, document.body.firstChild);
	renderedWidth = renderedElement.offsetWidth;
	renderedHeight = renderedElement.offsetHeight;

	// fix overflowing off the right side of the screen
	overFlowX = x + renderedWidth + excessWidth - document.body.offsetWidth;
	x = overFlowX > 0 ? x - overFlowX : x;

	// fix overflowing off the bottom of the screen
	overFlowY = y + renderedHeight + excessHeight - window.innerHeight - window.pageYOffset;
	y = overFlowY > 0 ? y - overFlowY : y;

	renderedElement.style.top = (y + 15) + px;
	renderedElement.style.left = (x + 15) + px;

	// windows versions of mozilla are like too fast here...we have to slow it down
	if (agt.indexOf(gecko) != -1 && agt.indexOf(win) != -1)
	{
		setTimeout("renderedElement.style.visibility = visible", 1);
	}
	else
	{
		renderedElement.style.visibility = visible;
	}
}

function destroyTitle()
{
	// make sure we dont delete the actual page contents (javascript can get out of alignment)
	if (document.body.firstChild != originalFirstChild)
	{
		document.body.removeChild(document.body.firstChild);
	}
}
//-->
</script>

#
#----[ FIND ]------------------------------------------ 
#

<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle"

#
#----[ AFTER, ADD ]------------------------------------------ 
# 

 onmouseover="createTitle(this, {topicrow.FIRST_POST}, event.pageX, event.pageY);" onmouseout="destroyTitle();"

#
#-----[ SAVE ALL FILES/CLOSE ]------------------------------------------ 
#
# EoM

موفق باشيد ...
 

جدیدترین ارسال ها

بالا