Hallo,
ich hatte erfolgreich einen "Neues Thema"-Button auf allen showthreat-Seiten platziert (siehe
https://www.mybb.de/forum/thread-25152.html).
Ich möchte nun aber noch einen Schritt weiter gehen und ähnlich wie bei
*Link entfernt* den Button in den Header setzen.
Ich verspreche mir davon noch mehr Aufmerksamkeit für diesen Button und damit mehr neue Themen.
Auf der Startseite und den sonstigen Seiten (Impressum, Regeln, usw.) sollte der Button ein neues Thema in einem festzulegenden Forum eröffnen, auf den showthreat und forumdisplay-seiten wie bisher immer in dem gerade aktuellen Forum.
Als weiteren Vorteil würde ich im oberen Bereich Platz sparen (besonders in der Forenanzeige kommt der Button erst hinter den Regeln, das nimmt reichlich Platz weg).
Lässt sich das umsetzen und ggfs. wie ?
Ergänzung: Auf den sonstigen Seiten (Impressum, Regeln, usw.) könnte ich auch auf den "Neues Thema"-Button verzichten, auf der Startseite wäre er aber wichtig.
Hallo. Was Du evtl machen könntest wäre ein Forum erstellen wo Du Deine Benutzer oder Gäste ein Thema erstellen lassen möchtest. Gehe in dieses erstellte Forum und fahre mit der Maus über den "Neues Thema" Button und kopiere Dir den Link. Gehe ins ACP in deinen Header (wenn wo anders noch ein Link hin soll, dann wiederhole die Schritte) und füge diesen Code ein.
PHP-Code:
<a href="http://DeineAdresse/newthread.php?fid=DeineForumID"><img src="{$theme['imgdir']}/deutsch_sie/newthread.gif" alt="" title="" /></a>
Deine Link musst Du natürlich ergänzer/verändern.
Ist jetzt nicht die beste Lösung, aber immerhin ist es eine.
Hallo,
ja, daran habe ich auch schon gedacht. Das wäre die zweitbeste Lösung, wenn die erste nicht umsetzbar wäre.
Viele Grüße
Vorschlag zur Lösung:
setze
Code:
<a href="newthread.php?fid={$fid}"><img src="{$theme['imglangdir']}/newthread.gif" alt="{$lang->post_thread}" title="{$lang->post_thread}" /></a>
in Dein header-Template ein. Dann öffne die global.php, suche nach
PHP-Code:
eval("\$header = \"".$templates->get("header")."\";");
und setze davor folgende Zeilen ein
PHP-Code:
if(basename($_SERVER['PHP_SELF']) == "index.php"){
$fid = XYZ;
}
elseif(basename($_SERVER['PHP_SELF']) == "forumdisplay.php"){
$fid = substr(basename($_SERVER['QUERY_STRING']),4);
}
elseif(basename($_SERVER['PHP_SELF']) == "showthread.php"){
$fid = $fid;
}
Für XYZ setze die Foren-ID ein, in der Du von der Startseite aus, Themen öffnen möchtest. Sobald ein User sich in einem Forum oder einem Thema befindet, enthält der o.a. Link zur newthread.php automatisch die fid des entsprechenden Forums.
Du kannst die Zeile
PHP-Code:
if(basename($_SERVER['PHP_SELF']) == "index.php")
noch um weitere Seiten ergänzen, solange sie nach dem ".php" kein query enthalten. Ansonsten müsstest Du wieder substr() anwenden.
Hallo,
schonmal vielen Dank, bei den Themen klappt das schon super.
Ich habe aber noch 2 Probleme:
# Der Zugriff von der index.php funktioniert nicht. Liegt es vielleicht daran, dass ich die index.php in der htaccess auf die / umleite (RewriteRule) ?
=> Korrektur, funktioniert jetzt doch !!!
# Der Zugriff von den Foren klappt nicht, er hat hier keine fid. Könnte dies daran liegen, dass ich das Google-Seo-Plugin verwende ?
VG
(14.04.2012, 12:21)dietmar80 schrieb: [ -> ]# Der Zugriff von den Foren klappt nicht, er hat hier keine fid. Könnte dies daran liegen, dass ich das Google-Seo-Plugin verwende ?
Leider ist Google-SEO nicht gerade mein Spezialgebiet...und das ist vorsichtig ausgedrückt. Deshalb bin ich mir gerade nicht sicher, wie man in Deinem Fall an die fid gelangt. Probier' bitte mal das, was ich Dir per PM geschickt habe. Dann sehen wir weiter.
Nachtrag:
damit das auch mit Google-SEO läuft, müssen die o.a. Zeilen
PHP-Code:
if(basename($_SERVER['PHP_SELF']) == "index.php"){
$fid = XYZ;
}
elseif(basename($_SERVER['PHP_SELF']) == "forumdisplay.php"){
$fid = substr(basename($_SERVER['QUERY_STRING']),4);
}
elseif(basename($_SERVER['PHP_SELF']) == "showthread.php"){
$fid = $fid;
}
in
PHP-Code:
if(basename($_SERVER['PHP_SELF']) == "index.php"){
$fid = XYZ;
}
elseif(basename($_SERVER['PHP_SELF']) == "forumdisplay.php"){
$fid = $mybb->input['fid'];
}
elseif(basename($_SERVER['PHP_SELF']) == "showthread.php"){
$fid = $fid;
}
geändert werden. dietmar80 hat es getestet und es scheint zu funktionieren.
Es gibt doch noch ein kleines Problem: Ich habe einige Kategorien, in denen also nicht gepostet werden kann.
Nach meinem Wunsch sollen die Buttons "Neues Thema" hier ruhig angezeigt werden, ich möchte jedoch ein anderes, passendes Forum hinterlegen.
Ich habe versucht, dies mit dem o.g. Befehl
if(basename($_SERVER['PHP_SELF']) == "index.php"){
$fid = XYZ;
}
umzusetzen, das hat aber leider nicht geklappt.
Wenn ich das richtig verstanden habe, dann müsstest Du eher diesen Teil des Codes verwenden
PHP-Code:
elseif(basename($_SERVER['PHP_SELF']) == "forumdisplay.php"){
$fid = $mybb->input['fid'];
}
und darin die fid der Katergorie(n) abfragen, in die man nichts schreiben kann und dann ggf. eine andere (feste) fid vorschreiben.
Kann ich mir das so vorstellen ?
elseif(basename($_SERVER['PHP_SELF']) == "forumdisplay.php"){
$fid=111 = $mybb->input['222'];
}
111 = Kategorie
222 = feste id von Forum, in das von der Kategorie aus geschrieben werden soll