Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
meta description variabel ?
#41
Wie lautet die Fehlermeldung? Bitte beachte, dass das <?php aufgrund eines Fehlers immer angezeigt wird, aber nicht zum Code gehört, der eingefügt werden muss.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#42
Michael schrieb:...beachte, dass das <?php aufgrund eines Fehlers immer angezeigt wird, aber nicht zum Code gehört, der eingefügt werden muss.

Danke, DAS war die Lösung für die angezeigten Fehler Wink

Wenn ich nun das hier einfüge:

Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php") {
$tid = addslashes(intval($mybb->input['tid']));
$query = $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE tid = ".$tid."");
$threaddescription = $db->fetch_array($query);
$metadescription = "<meta name=\"description\" content=\"".$threaddescription['subject']."\" />";
}

... dann bekomme ich eine metadescription mit der Überschrift von jeweiligen Thema.

Was muss ich genau eingeben, damit dort ZUSÄTZLICH auch die ersten 100 Wörter erscheinen?

Damit habe ich leider keinen Erfolg gehabt:

Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php") {
$tid = intval($mybb->input['tid']);
$query = $db->query("SELECT message FROM ".TABLE_PREFIX."posts WHERE tid = ".$tid." AND visible = '1' ORDER BY dateline ASC LIMIT 0,1");
$threaddescription['message'] = str_replace("\"", "", $threaddescription['message']);
$threaddescription['message'] = htmlentities(str_replace("\"", "", $threaddescription['message']));
if (strlen($threaddescription['message']) > 100) {
    $forum = substr($threaddescription['message'], 0, 100) . "...";
$metadescription = "<meta name=\"description\" content=\"".$threaddescription['message']."\" />";
}
#43
Du musst die Ergebnisse des Queries erst auslesen. Suche diese Zeile:
PHP-Code:
$threaddescription['message'] = str_replace("\""""$threaddescription['message']); 
und füge darüber diese ein:
PHP-Code:
$threaddescription $db->fetch_array($query); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#44
Eingefügt habe ich das hier:

Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php") {
$tid = intval($mybb->input['tid']);
$query = $db->query("SELECT message FROM ".TABLE_PREFIX."posts WHERE tid = ".$tid." AND visible = '1' ORDER BY dateline ASC LIMIT 0,1");
$threaddescription = $db->fetch_array($query);
$threaddescription['message'] = str_replace("\"", "", $threaddescription['message']);
$threaddescription['message'] = htmlentities(str_replace("\"", "", $threaddescription['message']));
if (strlen($threaddescription['message']) > 100) {
    $forum = substr($threaddescription['message'], 0, 100) . "...";
$metadescription = "<meta name=\"description\" content=\"".$threaddescription['message']."\" />";
}

Ergebniss:

Code:
Parse error: parse error, unexpected $ in /var/www/global.php on line 391

Ist die letzte leere Zeile in der global.php.
#45
Da fehlt eine abschließende Klammer am Ende, also }. Wenn das dein Problem nicht behebt hänge deine global.php hier als Attachment an.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#46
Du hast mal wieder Recht, nun werden in Metags die ersten 100 Wörter angezeigt. Danke schön!

Ist es möglich, die beiden Codes so zu vermischen, dass dort zuerst das Topic landet (weil es aussagekräftig ist) und dahinter zusätzlich die ersten 100 Wörter?
#47
Poste bitte mal deinen gesamten Code, so dass man den zusammenfassen kann.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#48
Anbei meine global.php.

Eingefügter Code dort:

Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php") {
$tid = intval($mybb->input['tid']);
$query = $db->query("SELECT message FROM ".TABLE_PREFIX."posts WHERE tid = ".$tid." AND visible = '1' ORDER BY dateline ASC LIMIT 0,1");
$threaddescription = $db->fetch_array($query);
$threaddescription['message'] = str_replace("\"", "", $threaddescription['message']);
$threaddescription['message'] = htmlentities(str_replace("\"", "", $threaddescription['message']));
if (strlen($threaddescription['message']) > 100) {
    $forum = substr($threaddescription['message'], 0, 100) . "...";
$metadescription = "<meta name=\"description\" content=\"".$threaddescription['message']."\" />";
}

Damit bekomme ich die ersten 100 Wörter in die Metatags.
Das Topic wird hierbei nicht berücksichtigt.

Ist es moglich, die Funktion von unteren Code dort zu implementieren, so dass ich beides (Topic und die 100 Wörter) habe?

Damit bekommt man Topic in die Metatags:

Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php") {
$tid = addslashes(intval($mybb->input['tid']));
$query = $db->query("SELECT subject FROM ".TABLE_PREFIX."threads WHERE tid = ".$tid."");
$threaddescription = $db->fetch_array($query);
$metadescription = "<meta name=\"description\" content=\"".$threaddescription['subject']."\" />";
}


Angehängte Dateien
.txt   global.php.txt (Größe: 11,22 KB / Downloads: 4)
#49
Dieser Code sollte beides im Tag ausgeben:
PHP-Code:
if(basename($_SERVER['PHP_SELF']) == "showthread.php") {
    
$tid intval($mybb->input['tid']);
    
$query $db->query("SELECT subject,message FROM ".TABLE_PREFIX."posts WHERE tid = ".$tid." AND visible = '1' ORDER BY dateline ASC LIMIT 0,1");
    
$threaddescription $db->fetch_array($query);
    
$subject htmlentities($threaddescription['subject']);
    if (
strlen($threaddescription['message']) > 100) {
        
$threaddescription['message'] = substr($threaddescription['message'], 0100) . "...";
    }
    
$description htmlentities(str_replace("\""""$threaddescription['message']));
    
$metadescription "<meta name=\"description\" content=\"".$subject." | ".$description."\" />";


Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#50
Ergibt in Seitenquelltext:

Code:
<meta name="description" content="DAS IST MEIN TOPIC! | ... und hier kommt mein Beitrag ;)" />

Perfect und nun hast Du Ruhe von mir Smile


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Meta Tag`s in Headerinclude ändern Hufi 33 9.070 10.05.2008, 13:17
Letzter Beitrag: StefanT
  meta tags tim_greiling 3 1.897 09.03.2008, 21:01
Letzter Beitrag: Michael
  Meta Tags, headerinclude GoldenEye 5 2.440 20.10.2006, 17:43
Letzter Beitrag: Garlant
Question Wo "genau" füge ich die Meta-Tag´s ein Ramm 2 1.671 15.06.2006, 20:31
Letzter Beitrag: Ramm
  Meta Tags ? Suchmaschiene ? Ramm 50 16.814 12.06.2006, 13:36
Letzter Beitrag: Ramm