Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| Quickjump Forum | |||
|---|---|---|---|
| jdiieka Mitglied
Posts: 64 |
Hi!
Ich bin gerade dabei ein quickjump menü für das forum zu machen. ich kann die foren alle auflisten jedoch nicht alle gemeinsam in einem rollmenü darstellen. das skript mach für jenes forum ein eigenes menü. wie kann ich alle foren in einem menü bekommen? hier der code: <?
defined ('main') or die ( 'no direct access' );
$abf = 'SELECT * FROM prefix_forums ORDER BY id ASC';
$erg = db_query($abf);
while ($row = db_fetch_object($erg))
{
$forums = $row->name;
echo'
<form name="QN">
<select name="quicknav" id="quicknav" onChange="MM_jumpMenu(parent,this,0)">
<option selected><a href="?downloads-show-'.$row->id.'">'.$forums.'</a></option></select>
</form>';
}
?>
dank schon mal im voraus!
betroffene Homepage: http://www.sunway7.at/index.php?kalender][url]http://www.sunway7.at/index.php?kalender[/url] |
||
| jdiieka Mitglied
Posts: 64 |
Es funktioniert jetzt. aber leider funktioniert es nur als box.. wie kann ich die liste für showforum.htm ausgeben
hier der aktuelle code: <?
defined ('main') or die ( 'no direct access' );
echo ' <form>
<select name="dest" size="1">';
$erg = db_query ("SELECT * FROM prefix_forums ORDER BY id ASC");
while ($row = db_fetch_object($erg))
{
$user = $row->name;
$fid = $row->id;
echo ' <option value="http://www.sunway7.at/index.php?forum-showtopics-'.$fid.'">'.$user.'</option>';
}
echo ' </select>
<input type="button" value="go" onclick="pulldown(this.form);" />
</form>';
?>
dieser code ist in der index.htm drinnen (sonst funktioniert das pulldownmenü nicht): </style>
<script language="JavaScript" type="text/javascript">
<!--
function pulldown(form)
{
var mypull = form.dest.selectedIndex;
self.location.href = form.dest.options[mypull].value;
}
//-->
</script>
Wie kann ich das in die showforum.htm {explode} en? gibts da eine andere lösung? wie würdet ihr das machen? ![]() |
||
| jdiieka Mitglied
Posts: 64 |
hat niemand eine idee?
|
||
| s_down Mitglied
Posts: 1194 |
Ich würde es so versuchen (weiss nicht ob das mit dem Template so stimmt musst halt dawww.ilch.de/doku-entwickler.html#tpl nach gucken.):
<?
defined ('main') or die ( 'no direct access' );
$ausgabe = ' <form>
<select name="dest" size="1">';
$erg = db_query ("SELECT * FROM prefix_forums ORDER BY id ASC");
while ($row = db_fetch_object($erg))
{
$user = $row->name;
$fid = $row->id;
$ausgabe . = ' <option value="http://www.sunway7.at/index.php?forum-showtopics-'.$fid.'">'.$user.'</option>';
}
$ausgabe .= ' </select>
<input type="button" value="go" onclick="pulldown(this.form);" />
</form>';
$tpl->set_out('dropdown',$ausgabe,0);
?>Probleme mit dem installieren? www.ilch.de/doku-install105.html |
||
| jdiieka Mitglied
Posts: 64 |
das überschreibt die letzte zuweisung der "$ausgabe" die anderen ausgaben.. aber der ansatz ist super. danke! werde da weiterforschen!
|
||
| jdiieka Mitglied
Posts: 64 |
so gibt er es richtig aus, bis auf den array.
$ausgabe1 = '<form> <span class="txtn">Quicknavi</span><br>
<select name="dest" size="1">';
$erg = db_query ("SELECT * FROM prefix_forums ORDER BY id ASC");
while ($row = db_fetch_object($erg))
{
$user = $row->name;
$fid = $row->id;
$ausgabe2 = ' <option>---- wähle ein Forum ----</option>
<option value="http://www.sunway7.at/index.php?forum-showtopics-'.$fid.'">'.$user.'</option>';
}
$ausgabe3 = ' </select>
<input type="button" value="go" onclick="pulldown(this.form);" />
</form>';
$ausgabe = ''.$ausgabe1.' '.$ausgabe2.' '.$ausgabe3.'';
$tpl->set_out('dropdown',$ausgabe,3);
Jetzt hab ich zwar das pulldown menü aber es steht nur das letzte forum zur auswahl. ich weis nicht mehr weiter... bitte um hilfe
danke im voraus! ![]() |
||
| Wizzard26 Mitglied
Posts: 231 |
Moin moin,
bevor ich hier erschlagen werde, ja Ich habe gesehen wie alt der Thread ist, will ihn aber trotzdem nochmal aus der versenkung holen. Wofür nen neuen aufmachen wenns die Frage schon gibt. So eine funktion wie sie hier angefangen worden ist such ich schon die ganze Zeit. Ein Dropdown sprung menü fürs Forum , ähnlich wie man es halt vom WBB kennt. mit der möglichkeit auf 2 ebenen auszuwählen. - Auswahl - -Forum Kategorie(Showcat) --Untergeordnete Foren(Showtopic) Hoffe mir kann da jemand weiterhelfen, werd da leider einfach nicht schlau raus. Greetz Wizz |
||
| Treicio Mitglied
|
Ist doch nichts großes :-)
|
||
| Wizzard26 Mitglied
Posts: 231 |
Zitat geschrieben von Treicio
Ist doch nichts großes :-) Mag sein bringt mich aber nicht weiter ![]() |
||
| Treicio Mitglied
|
Ne SelectListe ist wohl nichts großes :-)
Und die Auswahlmöglichkeiten per PHP zu machen ist 5 Minuten Sache ^^ |
||
| Wizzard26 Mitglied
Posts: 231 |
Und wenn wir noch länger darüber quatschen wie einfach doch sein würde, ändert das nix drann das ich auf dem schlauch stehe. Statisch als html sicherlich da bekomm ich das auch hin, aber php ist nunmal für mich noch immer ne Barriere wo ich nicht weiter komm.
Hab mich auch schon versucht da mit diversen Foren und themen die sich mit ähnlichem beschäftigen reinzulesen, aber irgendwie nach 20 verschiedenen anleitungen verstehe ich noch weniger als vorher schon. |
||
| Treicio Mitglied
|
^^
Also ich fahr jetzt gleich zwar weg aber hier mal n tipp: $ausgabe2 = ' <option>---- wähle ein Forum ----</option> <option value="http://www.sunway7.at/index.php?forum-showtopics-'.$fid.'">'.$user.'</option>'; Er erweitert die Variable nicht sondern macht sie immer neu. Du musst anstatt $ausgabe2 = ...das so machen: $ausgabe2.= ... und das $ausgabe2 = ' <option>---- wähle ein Forum ----</option>kommt dann über die while schleife :-) Weil sonst steht es da für jedes Forum einmal. Das heißt bei 3 Foren steht da 3 mal "wähle ein Forum" Hoffe ist so verständlich ^^ Zuletzt modifiziert von Treicio am 19.04.2011 - 10:27:27 |
||
| kdl Mitglied
Posts: 337 |
Eine interessante Sache, daher habe ich mich heute morgen spontan entschlossen da was zu schreiben.
Der Ansatz, den ihr verfolgt ist nicht ganz richtig, da ihr erstens keine Templates nutzt, zweitens nur Foren und nicht Kategorien ausgebt und drittens auch private Foren angezeigt werden. Ich komme zu folgendem Ergebnis: include/contents/forum/show_posts.php Unter Zeile 84 [...] $row['posts'] = ($row['posts']?'<br />Posts: '.$row['posts']:'').'<br />'; $tpl->set_ar_out($row,1); $i++; } folgendes einfügen: // Quickjump start
$sql = "SELECT
a.id as forum_id, a.name as forum,
b.id as cat_id, b.name as cats
FROM prefix_forums a
LEFT JOIN prefix_forumcats b on b.id = a.cid
LEFT JOIN prefix_groupusers vg ON vg.uid = {$_SESSION['authid']} AND vg.gid = a.view
WHERE (({$_SESSION['authright']} <= a.view AND a.view < 1)
OR vg.fid IS NOT NULL)
AND b.cid = 0";
$erg = db_query($sql);
$liste = "";
while($row = db_fetch_object($erg)) {
$fid == $row->forum_id ? $aktiv = "selected" : $aktiv = "";
if($akt_cat != $row->cat_id) {
$liste .= $tpl->list_get('dropdown', array($row->cat_id, $row->cats, "cat"));
$liste .= $tpl->list_get('dropdown', array($row->forum_id, "- " . $row->forum, "forum", $aktiv));
} else {
$liste .= $tpl->list_get('dropdown', array($row->forum_id, "- " . $row->forum, "forum", $aktiv));
}
$akt_cat = $row->cat_id;
}
// Quickjump ende
Zeile 111 (ursprünglich 86) $tpl->set_ar_out( array ( 'SITELINK' => $MPL, 'ANTWORTEN' => $antworten ) , 2 ); durch $tpl->set_ar_out( array ( 'SITELINK' => $MPL, 'ANTWORTEN' => $antworten, 'dropdown' => $liste ) , 2 ); ersetzen. include/templates/forum/showpost.htm Unter Zeile 39 </table> folgendes einfügen: <div>
<form method="post" action="index.php" name="dropdown">
<select name="auswahl" onchange="change_action(); this.form.submit();">
{_list_dropdown@<option value="%1" id="%3" %4>%2</option>}
</select>
</form>
</div>
Unter Zeile 67 (ursprünglich 60) } folgendes einfügen: function change_action() {
auswahl = document.dropdown.auswahl;
form = document.dropdown;
for (i = 0; i < auswahl.length; ++i) {
if (auswahl.options[i].selected == true) {
if(auswahl.options[i].id == "cat") {
form.action = "index.php?forum-showcat-" + auswahl.options[i].value;
return;
} else {
form.action = "index.php?forum-showtopics-" + auswahl.options[i].value;
return;
}
}
}
}
Ist getestet und sollte funktionieren. Ich hoffe, dass das das ist, was du suchst
Edit: Das ist jetzt exemplarisch für die showposts. Bei showtopics/showcat sollte das ähnlich aussehen. Zuletzt modifiziert von kdl am 19.04.2011 - 14:58:05 . |
||
| Wizzard26 Mitglied
Posts: 231 |
Habs gerade mal eingebaut und probiert funktioniert aller erste sahne.
Recht Herzlichen dank dafür, dafür haste dir noch viele verdient
Vll sollte das Thema mal einer der Mods auch in der Doku verlinken, kann mir denken das es noch vielen anderen zusagen würde. Greetz Wizz |
||
| kdl Mitglied
Posts: 337 |
<== hat endlich seinen 2. grünen Balken bekommen xD
Danke ![]() . |
||
| Flay123 Mitglied
Posts: 42 |
Hey, coole Sache
Kann man dies auch direkt für die show-topic.php nutzen? Sodass der Quickjump auch in der Themenübersicht zu sehen ist? lg EDIT: ohh da hab ich wohl was überlesen Zitat Edit: Das ist jetzt exemplarisch für die showposts. Bei showtopics/showcat sollte das ähnlich aussehen.
Zuletzt modifiziert von Flay123 am 17.06.2011 - 17:22:17 |
||
| kdl Mitglied
Posts: 337 |
Jo, habe es da aber nicht getestet. Melde dich einfach, wenn es Probleme geben sollte.
. |
||
| Tr3icio Mitglied
|
Dürfte eig kein problem ist, da es unabhängig von anderen Variablen, etc. ist
|
||
| Flay123 Mitglied
Posts: 42 |
Funktioniert
Tpl musste so angepasst werden für die show_topics.php $tpl->set_ar_out( array ( 'dropdown' => $liste ) , 1 ); |
||
| Chester Mitglied
Posts: 756 |
kann man sowas mal in action sehen? kann mir darunter leider nichts vorstellen :/
LD on Deviantart |
||
| Tr3icio Mitglied
|
Beispiel: www.woltlab.com/forum/individuelle-anpassung-und-pluginentwicklung/board119-wie-mache-ich-was/?s=5d9ff5e259c3220970d5aded92e2dceaeb1eea5b
Scroll mal bis ganz unten und dann unten links unter der Statistik sieht man eine Auswahlliste. Wenn du dort was anderes wählst und auf den pfeil klickst kommst du in ein anderes Forum |
||
| kdl Mitglied
Posts: 337 |
Beispiele wären die Datenbank-Auswahl (Dropdown-Menü ) bei PhpMyAdmin oder www.php.de/php-einsteiger/ ganz unten rechts ("Gehe zu" ).
zu langsam xD Zuletzt modifiziert von kdl am 17.06.2011 - 21:45:52 . |
||
| Chester Mitglied
Posts: 756 |
gut. na wenn man das bischen mit java verschönert is es sogar ganz hilfreich. krigste mal nen daumen hoch für die arbeit
![]() LD on Deviantart |
||
| Tr3icio Mitglied
|
Mit Java? Wozu? ^^
Reicht doch normal. Sonst kann man auch ne scöne Box nehmen wie es in jQuery schon gibt: jqueryui.com/demos/autocomplete/#combobox ^^ Dafür nimmt man dann aber JavaScript und kein Java ( falls du javaScript meintest = Java und JavaScript sind nicht im geringsten das gleiche! ) |
||
| Chester Mitglied
Posts: 756 |
is schon bischen egal aber danke für den hinweis
LD on Deviantart |
||
| Siggi Moderator
Posts: 2610 |
wie muss man das hier mit der show_topics.php, show_topics.htm, show_cat.php und show_cat.htm machen?
Gruesse Wie poste ich falsch? |
||
| Siggi Moderator
Posts: 2610 |
kdl nicht mehr Aktiv oder überlesen?
![]() Wie poste ich falsch? |
||
| Tr3icio Mitglied
|
Versuchs doch mal selber :-)
Was denkst du wie man es überhaupt lernt? die beste Möglichkeit ist zu versuchen zu verstehen warum er etwas wie und wo macht :-) |
||
| kdl Mitglied
Posts: 337 |
show_topic
show_topic.php $tpl->out(2); ersetzten durch // Quickjump start
$sql = "SELECT
a.id as forum_id, a.name as forum,
b.id as cat_id, b.name as cats
FROM prefix_forums a
LEFT JOIN prefix_forumcats b on b.id = a.cid
LEFT JOIN prefix_groupusers vg ON vg.uid = {$_SESSION['authid']} AND vg.gid = a.view
WHERE (({$_SESSION['authright']} <= a.view AND a.view < 1)
OR vg.fid IS NOT NULL)
AND b.cid = 0";
$erg = db_query($sql);
$liste = "";
while($row = db_fetch_object($erg)) {
$fid == $row->forum_id ? $aktiv = "selected" : $aktiv = "";
if($akt_cat != $row->cat_id) {
$liste .= $tpl->list_get('dropdown', array($row->cat_id, $row->cats, "cat"));
$liste .= $tpl->list_get('dropdown', array($row->forum_id, "- " . $row->forum, "forum", $aktiv));
} else {
$liste .= $tpl->list_get('dropdown', array($row->forum_id, "- " . $row->forum, "forum", $aktiv));
}
$akt_cat = $row->cat_id;
}
// Quickjump ende
$tpl->set_ar_out( array ( 'dropdown' => $liste ) , 2 );
showtopic.htm {EXPLODE}
<a href="index.php?forum-editforum-{id}">{_lang_editforum}</a>
ersetzten durch <div>
<form method="post" action="index.php" name="dropdown">
<select name="auswahl" onchange="change_action(); this.form.submit();">
{_list_dropdown@<option value="%1" id="%3" %4>%2</option>}
</select>
</form>
</div>
{EXPLODE}
<a href="index.php?forum-editforum-{id}">{_lang_editforum}</a>
<script language="JavaScript" type="text/javascript">
function change_action() {
auswahl = document.dropdown.auswahl;
form = document.dropdown;
for (i = 0; i < auswahl.length; ++i) {
if (auswahl.options[i].selected == true) {
if(auswahl.options[i].id == "cat") {
form.action = "index.php?forum-showcat-" + auswahl.options[i].value;
return;
} else {
form.action = "index.php?forum-showtopics-" + auswahl.options[i].value;
return;
}
}
}
}
</script>
show_cat show_cat.php $tpl->out(4); ersetzen durch // Quickjump start
$sql = "SELECT
a.id as forum_id, a.name as forum,
b.id as cat_id, b.name as cats
FROM prefix_forums a
LEFT JOIN prefix_forumcats b on b.id = a.cid
LEFT JOIN prefix_groupusers vg ON vg.uid = {$_SESSION['authid']} AND vg.gid = a.view
WHERE (({$_SESSION['authright']} <= a.view AND a.view < 1)
OR vg.fid IS NOT NULL)
AND b.cid = 0";
$erg = db_query($sql);
$liste = "";
while($row = db_fetch_object($erg)) {
$fid == $row->forum_id ? $aktiv = "selected" : $aktiv = "";
if($akt_cat != $row->cat_id) {
$liste .= $tpl->list_get('dropdown', array($row->cat_id, $row->cats, "cat"));
$liste .= $tpl->list_get('dropdown', array($row->forum_id, "- " . $row->forum, "forum", $aktiv));
} else {
$liste .= $tpl->list_get('dropdown', array($row->forum_id, "- " . $row->forum, "forum", $aktiv));
}
$akt_cat = $row->cat_id;
}
// Quickjump ende
$tpl->set_ar_out( array ( 'dropdown' => $liste ) , 4 );
show_cat.htm <div>
<form method="post" action="index.php" name="dropdown">
<select name="auswahl" onchange="change_action(); this.form.submit();">
{_list_dropdown@<option value="%1" id="%3" %4>%2</option>}
</select>
</form>
</div>
<script language="JavaScript" type="text/javascript">
function change_action() {
auswahl = document.dropdown.auswahl;
form = document.dropdown;
for (i = 0; i < auswahl.length; ++i) {
if (auswahl.options[i].selected == true) {
if(auswahl.options[i].id == "cat") {
form.action = "index.php?forum-showcat-" + auswahl.options[i].value;
return;
} else {
form.action = "index.php?forum-showtopics-" + auswahl.options[i].value;
return;
}
}
}
}
</script>
ganz unten einfügen. Bei modifizierten Dateien kann es anders aussehen. Zuletzt modifiziert von kdl am 13.08.2011 - 17:11:05 . |
||
| [ Anmelden zum schreiben ] |