MyBB.de Forum
meta description variabel ? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.2.x und älter (https://www.mybb.de/forum/forum-27.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-36.html)
+---- Thema: meta description variabel ? (/thread-1176.html)

Seiten: Seiten: 1 2 3 4 5 6 7 8


RE: meta description variabel ? - Michael - 05.09.2006

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.


RE: meta description variabel ? - xeyo - 05.09.2006

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']."\" />";
}



RE: meta description variabel ? - Michael - 05.09.2006

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); 



RE: meta description variabel ? - xeyo - 05.09.2006

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.


RE: meta description variabel ? - Michael - 06.09.2006

Da fehlt eine abschließende Klammer am Ende, also }. Wenn das dein Problem nicht behebt hänge deine global.php hier als Attachment an.


RE: meta description variabel ? - xeyo - 06.09.2006

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?


RE: meta description variabel ? - Michael - 06.09.2006

Poste bitte mal deinen gesamten Code, so dass man den zusammenfassen kann.


RE: meta description variabel ? - xeyo - 06.09.2006

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']."\" />";
}



RE: meta description variabel ? - Michael - 06.09.2006

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."\" />";




RE: meta description variabel ? - xeyo - 06.09.2006

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