Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Themen Präfixe
#1
Hi,
ich weiß das es dieses PlugIn schon einmal gab. Wurde aber gelöscht.
Kann irgendjemand ein Präfix PlugIn für Threads machen?

Am besten kann man für jedes Forum im ACP verschiedene Präfixe für die Themen Einstellen.
Danke

mfg
brainkopf
kann keiner helfen?
Zitieren
#2
Schade,
das keiner helfen kann... Sad
Zitieren
#3
Mhh, irgendwo hatte ich das mal rumliegen gehabt...

Hier kannst du es downloaden: http://mods.mybboard.net/view.php?did=352
Ich bin nicht die Signatur ô.O Ich putze hier nur!
Zitieren
#4
Danke!!!!!!!!
Zitieren
#5
ich such jetzt seit tagen danach, aber für die neue version find ich einfach keine mod, hat vllt noch jemand eine da?
bin langsam am verzweifeln :/

nirgend findet man ordentliches präfix plugin Sad
überall sind die links dazu wech

mfg sagu
Zitieren
#6
Der aktuelle Link: https://www.mybb.de/forum/showthread.php?tid=19467
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Hmm nee, da gehts aber auch bei Antworten. Gibts sowas auf nur für Themen?
Zitieren
#8
Nimm doch einfach die Auswahl aus dem Template raus und setzte den standardmäßigen Wert auf kein Prefix mit Hilfe eines hidden Tags.
Zitieren
#9
Hi, ich stand kürzlich auch vor so einem Problem und habe es - "quick and dirty" - gelöst

In phpmyadmin, erstelle in mybb_threads ein weiteres Feld das genau so heisst wie du es im ACP bei "Fieldname: (backend)" bennannt hast.

Im Plugin, suche nach:
PHP-Code:
$plugins->add_hook('datahandler_post_update''add_inputs'100000); 

Füge darunter ein:
PHP-Code:
$plugins->add_hook('datahandler_post_update_thread''add_inputs_thread'100000);
$plugins->add_hook('datahandler_post_insert_thread''add_inputs_thread'100000); 

Füge vor ?> ein:
PHP-Code:
function add_inputs_thread(&$thread) {
    global 
$mybb$db;
    
$callback 0;
    if(isset(
$thread->thread_update_data['subject'])) {
        
$callback 1;
    }
    
$options = array(
        
"order_by" => "ord",
        
"order_dir" => "ASC"
    
);
    
$query $db->simple_select(TABLE_PREFIX."extrafields""*"""$options);
    while(
$field $db->fetch_array($query)) {
    if(!empty(
$mybb->input[$field['fieldname']])){
        if(
$callback == 1) {
            
verify_extrafielddata($field['fieldname'],$mybb->input[$field['fieldname']]);
            
$thread->thread_update_data[$field['fieldname']] = $db->escape_string($mybb->input[$field['fieldname']]);
        } else {
            
$thread->thread_insert_data[$field['fieldname']] = $db->escape_string($mybb->input[$field['fieldname']]);
        }
    }
    
    }


Ergebniss:
Jetzt hast du die Daten da wo du sie brauchst, in der Thread Tabelle.
Als letztes sind nur noch die Templates zu ändern:

Forenanzeige Templates
-> forumdisplay_thread
Suchen nach:
PHP-Code:
{$thread['subject']} 
DAVOR:
PHP-Code:
{$thread['euerfeld']} 

Zeige Thema Templates
-> showthread
Gleiche Prozedur wie zuvor


Update:
Wer noch was für die Sicherheit tun möchte, füge noch folgende funktion oberhalb der add_inputs funktionen ein:
PHP-Code:
function verify_extrafielddata($fieldname,$postoptions){
global 
$mybb$db;
$query $db->query("
        SELECT options
        FROM mybb_extrafields
        WHERE fieldname = '"
.$db->escape_string($fieldname)."' && CONCAT(',',options,',') LIKE '%,".$db->escape_string($postoptions).",%' 
        "
);
if(!
$db->num_rows($query)){die('Fehler!');}


In den add_inputs Funktionen ist diese Funtion dann wie folgt einzufügen:
Suche nach
PHP-Code:
        if($callback == 1) { 
Füge darunter ein:
PHP-Code:
            verify_extrafielddata($field['fieldname'],$mybb->input[$field['fieldname']]); 

Wer möchte das man die Box dann auch nur beim ersten post sieht der änder die funktion add_fields_edit wie folgt:

PHP-Code:
function add_fields_edit() {
    global 
$mybb$db$fields_start$fields_end$templates$theme$post$fid$thread;
    if(
$post['pid'] == $thread['firstpost']){ 

und am Ende der Funktion gehört noch } angehängt.

Die folgenden Zeilen könnt ihr dann auskommentieren:
PHP-Code:
# $plugins->add_hook('newreply_start', 'add_fields', 1000000);
# $plugins->add_hook('datahandler_post_insert_post', 'add_inputs', 100000);
# $plugins->add_hook('datahandler_post_insert_thread_post', 'add_inputs', 100000);
# $plugins->add_hook('datahandler_post_update', 'add_inputs', 100000); 

Demo:
http://www.profi-webmaster.com/forumdisplay.php?fid=14
Zitieren