anpera.net
https://anpera.dyndns.org/phpbb3/

Vitalinfo auf und zu klappen ?
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3391
Seite 1 von 1

Autor:  toXic [ Di 20 Feb, 2007 12:07 ]
Betreff des Beitrags:  Vitalinfo auf und zu klappen ?

Hi :)

Habe meine Vital info um einiges modifiziert und sie nimmt nun einen ganz schön großen Bereich auf der rechten Seite meines Designs ein. Daher möchte ich es so gestalten, dass die Vital info aus und ein klappar ist.

Beispiel:

ID, Rundenanzahl und Zeitanzeige des Benutzers werden unter der Überschrift "Informationen" zusammengefasst.
Darunter folgt dann die Überschrift "Zur Person", wo unter anderem der Name, das Level, die Stimmung etc des Benutzers zu finden sind.

Nun ist neben der Überschrift ein kleiner Pfeil. Dort kann der Benutzer drauf klicken. Sodass entweder nur die Überschrift oder auch die entsprechenden Werte zu finden sind.

Hier mal ein Bild wie es aussehen soll. Bislang habe ich das mit dem Pfeil nur in dem oberen Kasten, bei der Überschrift "Information" eingebaut:
http://www.hde-lotgd.d-be-online.de/images/BEISPIEL.jpg

Ich habe auch schon ein Scriptbeispiel für genau diese Sache im Netz gefunden.
Siehe hier: http://webmatze.de/webdesign/javascript ... av.htm#nav

genau das soll es sein, eben nur nicht als Menü, sondern nur als Anzeige.

Leider funktioniert es noch nicht so recht auf meinem Testserver.
Hier mal der Link für den Testserver:
http://www.hde-lotgd.d-be-online.de

Wenn ihr euch das ansehen wollt, müsst ihr euch anmelden und das style "marbleelfs' auswählen. Passwort ist toXic

Kommen wir nun zu den Veränderungen die ich eingebaut habe ^^

1.
in der COMMON.PHP function PAGE_FOOTER im $script nach der function keyevent(e) aber noch über
//-->
</script>";
lege ich die Funktion ab:

[php]
function showhide(vitalvalue)
{
var e = document.getElementById(vitalvalue);
e.style.display = (e.style.display == 'block') ? 'none' : 'block';
}
[/php]

2.
in der COMMON.PHP function CHARSTATS füge ich die Überschrift hinzu
im titel habe ich das onClick event und das Bild, danach den Namen.
Unter der Überschrift beginnt dann der restliche Teil. Hier nur mit ID. Darunter kommen dann eben di Runden und der Tag. Dann wieder eine Überschrift, die dazugehörigen Inhalte... usw

[php]
//Informationen
$charstat.=appoencode(templatereplace("statfirst",array("title"=>"<a href='#' onClick='showhide('vitalvalue');'><img src='images/pfeil.jpg'/></a> Informationen")),true);
$charstat.=appoencode(templatereplace("statpoint",array("title"=>"Id","value"=>appoencode($u[acctid],false)))
[/php]

3.
in der MARBLEELFS.HTM habe ich dann das design mit festgelegt.
Für den Titel: vitaltitle
Für die Werte: klasse vitalvalue und eine ID "vitalvalue". Diese id übergebe ich ja auch in meinem javascript, wenn ich das richtig verstanden habe.

[php]
<!--!statfirst-->
<div class='vitaltitle'>{title}</div>

<!--!statpoint-->
<div class='vitalvalue' id='vitalvalue'>`b{title}:`b {value}</div>
[/php]

4.
in der MARBLEELFS.CSS habe ich dann die Definitionen festgelegt:
[php]
/*Werte in der Vital info*/
.vitalvalue{
border-left: 1px solid #000000;
border-top: 1px solid #000000;
border-right: 1px solid #ffffff;
border-bottom: 1px solid #ffffff;
background-color:#eeeeee;
width: 150px;
padding: 2px;
}

/*Titel in der Vital info*/
.vitaltitle{
color: #000000;
border-left: 1px solid #000000;
border-top: 1px solid #000000;
border-right: 1px solid #ffffff;
border-bottom: 1px solid #ffffff;
background-color:#cccccc;
font-weight:bold;
width: 150px;
padding: 2px;
margin-bottom: 3px;
}
[/php]

mehr habe ich nicht geändert.
Folgender Fehler tritt auf:
wenn man auf den Pfeil klickt, passiert einfach nichts. :pein:

Dazu sollte man sagen, dass ich mich mit Javascript noch nicht so gut auskenne.. eigentlich gar nicht ^^

Würde mich echt über Hilfe freuen, ich hab nämlich keinen Plan mehr ^^*
Ich hoffe ich habe es mehr oder minder verständlich ausgedrückt ...

ein lieber gruß
toXic

Autor:  Harthas [ Di 20 Feb, 2007 12:12 ]
Betreff des Beitrags: 

Vielleicht liegt es daran, dass dem Skript ganz einfach nicht klar ist, dass da nu eine JS-Funktion kommt *g*

Nach dem:
[php] }
}
//-->
</script>";[/php]

Fügs mal so ein:

[php]$script .= "<script language=\"JavaScript\" type=\"text/javascript\">
function showhide(vitalvalue)
{
var e = document.getElementById(vitalvalue);
e.style.display = (e.style.display == 'block') ? 'none' : 'block';
} </script>";[/php]

Daran könnte es liegen... *g*

Autor:  toXic [ Di 20 Feb, 2007 12:38 ]
Betreff des Beitrags: 

hat leider nicht funktioniert :(

Ich nehme mal an, dass das ?> da nur aus versehen reingerutscht ist ;)

Jetzt sieht es so aus:
[php]
//-->
</script>";
$script .= "
<script language=\"JavaScript\" type=\"text/javascript\">
function showhide(vitalvalue)
{
var e = document.getElementById(vitalvalue);
e.style.display = (e.style.display == 'block') ? 'none' : 'block';
}
</script>";
[/php]

Habe auch mal probeweise das <a href'#' ..> durch ein <span> ersetzt...
mir wurde gesagt das könne man auch machen, wäre mir persönlich auch lieber ^^* Nur das hat wohl nix mit dem fehler zu tun *g*
hier das hab ich in der common eben noch verändert:
[php]
//Informationen
$charstat.=appoencode(templatereplace("statfirst",array("title"=>"<span onClick='showhide('vitalvalue');'><img src='images/pfeil.jpg'/> Informationen</span>")),true);
[/php]

hachja ^^
irgendwer sagte mir ich käme auf verrückte ideen... ich frag mich langsam ob meine ideen verrückt sind, oder ich es bin ;)

Autor:  Nightborn [ Di 20 Feb, 2007 14:46 ]
Betreff des Beitrags: 

in der 1.x.x sind einige teile "aufklappbar" gemacht...

ganze textsektionen können per klick ein- und ausgeblendet werden.

evtl wollt ihr da mal einen blick reinwerfen, wie JT das gemacht hat?

collapseable irgendwas.

ich hab das nur mal in einem modul zur buchvalidierung gemacht, wo ich den buchtext aufklappen hab lassen.

Autor:  toXic [ Do 22 Feb, 2007 10:55 ]
Betreff des Beitrags: 

hmmm ich arbeite momentan mit der 0.97er version und wollt die eigentlich auch ganz gerne behalten ^^

dachte ja auch eigentlich, dass ich die lösung schon gefunden hätte, weil es ja genauso wie in dem beispiel sein soll und da ja auch schon der code ist .. aber anscheinend mag logd das nicht.

Bin schon am überlegen, ob ich es mir "einfach" mache und den benutzer das alles über seine einstellungen einstellen lasse. Aber das ist eigentlich nicht sinn und zweck der aktion und eher nervig als hilfreich :/

Ich muss wohl doch einiges mehr ändern, als nen simples javascript und n paar veränderungen an den charstats ^^*

Melde mich, falls ich die lösung finden sollte.

wen du sagts "in einem modul", dann kann ich davon ausgehen, dass du auch die 1.x.x hast?
Wenn ich das richtig verstehe unterscheiden sich die 1er und die 0er versionen ja doch ganz schön voneinander, oder?

nunja
ich setz mich mal wieder ans proggen :)
ein lieber gruß
toXic

Autor:  Nightborn [ Do 22 Feb, 2007 14:22 ]
Betreff des Beitrags: 

Japp, ich benutze nur 1.x.x. =)

anders könnte ich niemand für mich programmieren lassen, weil an meinen Server darf niemand ran (und per SVN ist der Zugriff von außen auch nicht möglich).

Und so krieg ich Module nach meinen Vorgaben, die ich dann mit 2 Klicks einbau.

Das würde mit 0.97 nicht gehen.

Vom Code an sich sind die Versionen sehr ähnlich, bis auf Anperas Änderungen (und die zahlreicher anderer) und dem fehlenden Modulsystem.

Es ist irgendwo eine parallele Entwicklung, jeder könnte (Lizenz mal hin oder her) vom anderen sicher noch was abschauen.

edit:
du kannst deine freilich behalten, ich meinte auch nur mal sehen, wie es dort gemacht wird... vom system her.
das ist ja kein geheimnis, wie sowas in html umgesetzt wird...

ich poste einfach mal den modulteil den ich reinhabe... es ist ein einfaches "aufklicken" ...

was es ist: ein teil einer büchervalidierung, der bei einem gewissen &op= einrequiret wird.

here you go:



[php]
<?php
if (httpget('subop')=="xml"){
header("Content-Type: text/xml");
$sql = "SELECT content from ".db_prefix('librarybooks')." WHERE bookid=".httpget('bookid');
$row = db_fetch_assoc(db_query($sql));
echo "<xml>";
echo "<name name=\"";
echo rawurlencode(appoencode("`~".stripslashes($row['content'])));
echo "\"/>";
echo "</xml>";
exit();
}
addnav("Options");
addnav("Add Book","runmodule.php?module=library&op=tell&su=1");
addnav("Validate Books","runmodule.php?module=library&op=libval&validate=1");
addnav("See all books","runmodule.php?module=library&op=libval&validate=0");
rawoutput("<script language='JavaScript'>
function getUserInfo(id,divid){
var filename='runmodule.php?module=library&op=libval&subop=xml&bookid='+id;
//set up the DOM object
var xmldom;
if (document.implementation &&
document.implementation.createDocument){
//Mozilla style browsers
xmldom = document.implementation.createDocument('', '', null);
} else if (window.ActiveXObject) {
//IE style browsers
xmldom = new ActiveXObject('Microsoft.XMLDOM');
}
xmldom.async=false;
xmldom.load(filename);
var output='';
for (var x=0; x<xmldom.documentElement.childNodes.length; x++){
output = output + unescape(xmldom.documentElement.childNodes[x].getAttribute('name').replace(/\\+/g,' ')) +'<br>';
}
document.getElementById('user'+divid).innerHTML=output;
}
</script>
");
$act = httpget('act');
switch ($act){
case "validate":
$sql = "UPDATE ".db_prefix("librarybooks")." SET validated=1 WHERE bookid=$id";
db_query($sql);
output("Book has been Validated.`n`n");
break;
case "unvalidate":
$sql = "UPDATE ".db_prefix("librarybooks")." SET validated=0 WHERE bookid=$id";
db_query($sql);
output("Book has been Unvalidated.`n`n");
break;
case "delete":
$sql = "DELETE FROM ".db_prefix("librarybooks")." WHERE bookid=$id";
db_query($sql);
output("Book has been Deleted.`n`n");
break;
case "edit":
$sql = "UPDATE ".db_prefix("librarybooks")." SET title='$title', content='$content' WHERE bookid=$id";
db_query($sql);
output("Book has been edited.`n`n");
break;
case "add":
$sql = "INSERT INTO ".db_prefix("librarybooks")." (authid, title, content) VALUES ('".$session['user']['acctid']."', '".$title."', '".$content."')";
db_query($sql);
break;
}
page_header("Library Book Validation");
output("`c`#You may wish to delete the books, that do not have either a Title or a Content Body.`c`n`n");
$pp = get_module_setting("pp");
$pageoffset = (int)$page;
if ($pageoffset > 0) $pageoffset--;
$pageoffset *= $pp;
$from = $pageoffset+1;
$limit = "LIMIT $pageoffset,$pp";
$sql = "SELECT COUNT(*) AS c FROM " . db_prefix("librarybooks") . "";
$result = db_query($sql);
$row = db_fetch_assoc($result);
$total = $row['c'];
$count = db_num_rows($result);
if ($from + $pp < $total){
$cond = $pageoffset + $pp;
}else{
$cond = $total;
}
if (httpget('validate')==0) {
$sql = "SELECT ".db_prefix("librarybooks").".title, ".db_prefix("librarybooks").".authid, ".db_prefix("librarybooks").".bookid, ".db_prefix("accounts").".name, ".db_prefix("librarybooks").".validated, ".db_prefix("librarybooks").".content FROM ".db_prefix("librarybooks")." , ".db_prefix("accounts"). " WHERE authid = acctid ORDER BY bookid ASC $limit";
} else {
$sql = "SELECT ".db_prefix("librarybooks").".title, ".db_prefix("librarybooks").".authid, ".db_prefix("librarybooks").".bookid, ".db_prefix("accounts").".name, ".db_prefix("librarybooks").".validated, ".db_prefix("librarybooks").".content FROM ".db_prefix("librarybooks")." , ".db_prefix("accounts"). " WHERE authid = acctid AND ".db_prefix("librarybooks").".validated=0 ORDER BY bookid ASC $limit";
}
$result = db_query($sql);
$vque = translate_inline("Options");
$validate = translate_inline("Validate");
$unvalidate = translate_inline("Unvalidate");
$delete = translate_inline("Delete");
$edit = translate_inline("Edit");
$title = translate_inline("Title");
$author = translate_inline("Author");
$length = translate_inline("Length");
$text = translate_inline("Content");
$val = translate_inline("Validated");
rawoutput("<table border='0' cellpadding='2' cellspacing='1' align='center' bgcolor='#999999'>");
rawoutput("<tr class='trhead'><td>$vque</td><td>$title</td><td>$author</td><td>$val</td><td>$length</td>");
rawoutput("</tr>");
if (db_num_rows($result)>0){
$k=0;
//for($i = $pageoffset; $i < $cond && $count; $i++) {
while ($row = db_fetch_assoc($result)) {
rawoutput("<tr class='trdark'><td>");
if ($row['validated'] == 0){
rawoutput("<a href='runmodule.php?module=library&op=libval&act=validate&id={$row['bookid']}&validate=1'>");
output_notl($validate);
rawoutput("</a><br>");
addnav("","runmodule.php?module=library&op=libval&act=validate&id={$row['bookid']}&validate=1");
}else{
rawoutput("<a href='runmodule.php?module=library&op=libval&act=unvalidate&id={$row['bookid']}'>");
output_notl($unvalidate);
rawoutput("</a><br>");
addnav("","runmodule.php?module=library&op=libval&act=unvalidate&id={$row['bookid']}");
}
rawoutput("<a href='runmodule.php?module=library&op=edit&id={$row['bookid']}'>");
output_notl($edit);
rawoutput("</a><br>");
addnav("","runmodule.php?module=library&op=edit&id={$row['bookid']}");
rawoutput("<a href='runmodule.php?module=library&op=libval&act=delete&id={$row['bookid']}'>");
output_notl($delete);
rawoutput("</a><br>");
addnav("","runmodule.php?module=library&op=libval&act=delete&id={$row['bookid']}");
rawoutput("</td><td>");
output_notl("%s",stripslashes($row['title']));
rawoutput("</td><td>");
output_notl("`&%s`0",$row['name']);
rawoutput("</td><td>");
if ($row['validated']){
$str = translate_inline("Yes");
}else{
$str = translate_inline("No");
}
output_notl("`c`@%s`c`0",$str);
rawoutput("</td><td>");
output_notl("%s Characters",strlen($row['content']));
rawoutput("</td>");
if (get_module_setting("showcon")){
rawoutput("</tr><tr><td class='trlight' colspan=6>");
$text=translate_inline("Click here to view content");
$book="runmodule.php?module=library&op=libval&subop=xml&bookid={$row['bookid']}";
addnav("",$book);
rawoutput("<div id='user$k'><a href='$book' target='_blank' onClick=\"getUserInfo('{$row['bookid']}',$k); return false;\">");
output_notl("%s", $text, true);
// output_notl("`c`@%s`c`0",stripslashes($row['content']));
rawoutput("</td>");
}
$k++;
rawoutput("</tr>");
}
}
rawoutput("</table>");
if ($total>$pp){
addnav("Pages");
for ($p=0;$p<$total;$p+=$pp){
addnav(array("Page %s (%s-%s)", ($p/$pp+1), ($p+1), min($p+$pp,$total)), "runmodule.php?module=library&op=libval&page=".($p/$pp+1));
}
}
require_once("lib/superusernav.php");
superusernav();
?>
[/php][/code]

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/