statt der suchfunktion im thema outline, hätte ich gerne, dass rechts oben im header der letzte beitrag im forum, bzw. titel des beitrags angezeigt wird,
habe jetzt hier auch schon einiges zu dem thema gelesen, da mich aber die vermutung plagt, dass es wieder von theme zu theme unterschiedlich ist, doch mal meine frage
wie kann ich (als nichtphpkenner) dass relativ pragmatisch umsetzen, dass anstelle der suchfunktion und logins im header rechts oben mir nen block letzten beitrag anzeigt?
oder ist dieses hier schon die besteinzige möglichkeit? auch fürs outline?
http://www.pragmamx.org/Forum-topic-27203.html
oder ob es block heißt, jedenfalls dass er den letzten beitrag von smf ausliest, irgendwie so
platz dafür habe ich schon geschaffen :-)
http://www.potsdamnews.de
pragmamx ist schon prima für unwissende, wie mich, aber doch ganz ohne php ists dann doch doof :smile:
scheint ja doch gravierender als von mir angenommen zu sein, keine anleitung für dummies?
ich dachte nen code includeblabla im header hinein und fertig ist der salat, so ganz pragmatisch :quest
letzter Versuch - Frage
gibt es jemanden der das für mich für n kleines Entgelt umsetzen könnte? nur das eben oben im Header der letzte Beitrag im smf-board gezeigt wird, der Betreff und Autor, sowie datum, wie üblich nur den einen letzten
nun dann höre ich mal auf zu nerven :red:
Hoi :)
meinst du sowas in der Art?
http://www.pragmamx.org/SSI.php?ssi_function=recentPosts
Hatte ich hier was dazu geschrieben:
http://www.pragmamx.org/Forum-topic-27887-start-msg180994.html#msg180994
Müsste man dann nur in das Theme einbauen, Beispiel hätte ich auch hier....
ja, nur eben der letzte beitrag mit beitrag-betreff da nicht so viel Platz dort ist, von wem, und wann,
diese 3 angaben von dem 1 letzten post im header, rechts oben wo jetzt bei mir der login zu sehen ist
also optisch dann so:
Letzter Beitrag
Re: frage
von: danielf
heute 17:02 uhr
kurz und knackig, so dass man gleich auch wie üblich drauf klicken kann und im entsprechenden post landet,
kannst Du mir da helfen? :)
Oki, ich gugg mal.
Ist kein grosser Act.... :)
Sodale, nachfolgend die Anleitung....
Wir editieren die functions.php, des Themes.
Die bisher an dem Platz angezeigte Funktion mx_theme_loginform() lassen wir unverändert, so dass man sie päter bei Bedarf einfach wieder verwenden kann. Auch den Platzhalter in der theme.html lassen wir unverändert, wobei das Umfeld bei Bedarf natürlich optisch angepasst werden kann/sollte.
Das Ersetzen des Platzhalters in der Funktion theme_define_placeholders() wird wie folgt abgeändert.
Die zeile $part[] = array("{LOGINFORM}", mx_theme_loginform());
wird auskommentiert und darunter eine etwas abgeänderte neue Zeile eingefügt. Das sieht dann so aus:
// $part[] = array("{LOGINFORM}", mx_theme_loginform());
$part[] = array("{LOGINFORM}", mx_theme_bblastpost());
Das bedeutet einfach nur, dass die alte Zeile erhalten bleibt, dass wire sie später bei bedarf reaktivieren können. Und dass der Platzhalter {LOGINFORM} in der theme.html, durch die Ausgabe der neu zu erstellenden Funktion mx_theme_bblastpost() ersetzt wird.
Diese neue Funktion fügen wir am Ende der functions.php ein und sieht wie folgt aus:
<?php
/**
* mx_theme_bblastpost()
*
* @return lastpost from SMF-Board (html)
*/
function mx_theme_bblastpost()
{
/* Modulname des SMF Forums */
$module_name = 'Forum';
/* Foren, die nicht beachtet werden sollen, als Array() */
$exclude_boards = null; // z.B. array(2,53,44,8);
/* Funktions-Rueckgabe initialisieren */
$view = '';
/* Nur ausfuehren, wenn Forum nicht geladen und Forum fuer User erlaubt */
if (MX_MODULE != $module_name && mxModuleAllowed($module_name)) {
/* versch. Variablen global setzen, die in den SMF Dateien benoetigt werden */
global $db_prefix, $settings, $context, $scripturl, $mxsmf;
/* die SSI-Datei includen */
include('modules/' . $module_name . '/mx_SSI.php');
/* SSI-Funktion aufrufen, 1 Datensatz, Ausgabe als Array */
$data = ssi_recentPosts(1, $exclude_boards, 'array');
/* Ausgabe fuer pragmaMx umschreiben, z.B. die Links */
$data = mxSmfPrepareOutput_recursive($data[0]);
/* folgendes einkommentieren um die Daten anzusehen */
// mxDebugFuncVars($data); #exit;
/* folgendes einkommentieren um die Sprachvariablen anzusehen */
// mxDebugFuncVars($txt); #exit;
/* wenn Daten vorhanden */
if (!empty($data['link'])) {
/* Die HTML-Ausgabe zusammen basteln */
$view = '<div style="text-align: left"><b>' . $txt['22'] . '</b>:<br />
' . $data['link'] . '<br />
' . $txt['107'] . ': ' . $data['poster']['link'] . '<br />
' . $data['time'] . '
</div>';
}
}
/* Daten zurueckgeben */
return $view;
}
?>
Achtung! ohne <?php ?> drumrum ;)
Das war es schon :)
Die eigentliche Ausgabe ist dieser Teil:
<div style="text-align: left"><b>' . $txt['22'] . '</b>:<br />
' . $data['link'] . '<br />
' . $txt['107'] . ': ' . $data['poster']['link'] . '<br />
' . $data['time'] . '
</div>
Das kann nach belieben angepasst werden. Um die verfügbaren Daten und Sprchvariablen anzuzeigen kann man einfach die auskommentierten Debugausgaben aktivieren....
Zu beachten und ohne tiefgreifende Codeänderungen auch nicht zu ändern ist, dass die Anzeige nicht angezeigt werden kann, wenn das Forum als Modul angezeigt wird.
WOW
Vielen Dank Andi
hat super geklappt :smile:
um den Block in Grenzen zu halten, kann ich da irgend ne Begrenzung einfügen, sollte der Beitrag-Betreff länger als 25 Zeichen sein meinetwegen "..." hinten dran gesetzt werden? habe es mal getestet, sonst landet der Block irgendwo im zentrum der Seite
wenn man sich im Forum befindet wird der Block im Header nicht angezeigt, aber das egal
Glückliche Grüße