Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 9 Gast/Gäste
Alle Templates verfügbar?
#1
Hallo zusammen,

Wie ich feststellen konnte, sind einige Templates nur in Ihren, ich sag mal, Bereichen verfügbar.
Das wird wohl über die .php Dateien gesteuert.
Sprich, die Templates die dort freigegeben werden, können auch genutzt werden ... Portal-Temps also nur im Portal, Index-Temps nur auf der Hauptseite, etc. etc. ...

Ist es Möglich, das ich alle Templates überall nutzen kann? Also, Temps des Portal auf der Hauptseite einbauen, oder Index Temps im Forum?
Kann ich das realisieren, möglichst ohne grossen Aufwand. Leider bin ich kein Profi in PHP ....

DANKE und GRUSS
Zitieren
#2
Du kannst jedes Template überall aufrufen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Hi, und Dank für die Antwort.

Da habe ich über Templates probiert.
Beim Aufruf der Index.php wird meines Wissens das index-template mitgeladen. Innerhalb dieses tpl werden weitere tpls geladen.
Nun wollte ich zusätzlich tpls laden, die auch z.b. im Portal geladen werden. Selbiges aber funktioniert nicht. Diese templates werden nicht angezeigt.

In der Index.php werden templates, wie soll ich sagen, vorgeladen.
Die dort aufgeführten kann ich auch beliebig aufrufen. Aber templates die nicht expliziet in der php sind, bekomme ich nicht angezeigt.

Deswegen dachte ich, ich könnte sie der index.php einfach hinzufügen, hilft aber auch nicht. Also suche ich nach einer Lösung die alle templates überall ermöglicht.....

DANKE und GRUSS
Zitieren
#4
Innerhalb von Templates können keine anderen Templates geladen. Man kann nur in den PHP-Dateien andere Templates als Variable definieren und in das Template einbinden.
Man kann aber auch Templates aufrufen, die nicht am Anfang geladen worden sind. Das führt zwar zu unötigen Queries, geht aber trotzdem.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Hallo und guten Morgen,

Danke, wir kommen der Sache näher. Die Frage ist dann, was muss ich in den PHPs ändern, um alle Templates zu bekommen? oder wie kann ich templates aufrufen, die nicht geladen wurden?

DANKE und Gruss
Zitieren
#6
Templates kann man so laden:
PHP-Code:
eval("\$variable = \"".$templates->get("TEMPLATE")."\";"); 
$variable musst du mit der Variable ersetzen, die du im Template einbinden willst, TEMPLATE durch des Template, was du laden willst.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Hallo und Danke,
dann werde ich das mal im Laufe des Tages versuchen und Rückmeldung geben, ob ichs auf die Reihe bekommen habe.

Danke und Gruss
Zitieren
#8
Mahlzeit,

habe nun mal die Idee übernommen, so wie ich dachte, das es richtig ist. Ich wollte also das Search-Template des Portals in die Index einbauen.

Nur mit HTML {$search} gehts ja nicht, kommt ein Array fehler.
Also versuchte ich zusätzlich das via PHP in der Index.php:

eval("\$search = \"".$templates->get("portal_search")."\";");

Aber laufen tuts auch nicht ....die Box sehe ich nicht.

Dann habe ich den Template = in der index.php die Templates aus der portal php zugefügt.

$templatelist = "index,index_whosonline,index_welcomemembertext,index_welcomeguest,index_whosonline_memberbit,forumbit_depth1_cat,forumbit_depth1_forum,forumbit_depth2_cat,forumbit_depth2_forum,forumbit_depth1_forum_lastpost,forumbit_depth2_forum_lastpost,index_modcolumn,forumbit_moderators,forumbit_subforums,index_welcomeguesttext,portal_welcome,portal_welcome_membertext,portal_stats,portal_search,portal_whosonline_memberbit,portal_whosonline,portal_latestthreads_thread_lastpost,portal_latestthreads_thread,portal_latestthreads,portal_announcement_numcomments_no,portal_announcement,portal_announcement_numcomments,portal";

Auch ohne Erfolg

Dann habe ich noch den $lang-code des Portals hinzugefügt, und diese runHooks des Portal ... beides ohne Erfolg.

Nun steh ich also im Regen ....

Es muss doch machbar sein, das ALLE Templates ÜBERALL verfügbar sind.

DANKE und GRUSS
Zitieren
#9
Wo hast du den eval-Code eingefügt?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#10
Ups, so eine schnelle Antwort.

Also, erstmal muss ich obige Aussage zurücknehmen.

Ich habe mir nochmal die Mühe gemacht, und alles neu installiert.
Neues Verzeichnis und alles. Den Eval habe ich direkt hier eingebaut.

$doneusers = array();

// Search box

eval("\$search = \"".$templates->get("portal_search")."\";");

// Loop through all users.

UND? Jaaaaaaaaaaaa, es geht. DANKE. Ich denke mal, das ich durch vorheriges rumtesten was gelöscht oder anderweitig geändert habe, ohne es zurückzusetzen.

2-3 Fragen bleiben allerdings: z.B. der Search-Eval besteht aus mehreren Zeilen. Sollten alle dazugehörigen Zeilen übernommen werden?
Muss ich die TemplatesList zwingend mit übernehmen?
Sollte man die $lang und Hooks ebenfalls übernehmen?

Ansonsten sage ich vielen DANK für die tolle Hilfe hier. Wenn ich das Forum fertig habe, wie ich es möchte, gibts hier Meldung!

DANKE und GRUSS
Zitieren