dynamische Meta Tags Mod

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
WWW-Schizo
Mitglied
Beiträge: 57
Registriert: 05.10.2003 01:35

dynamische Meta Tags Mod

Beitrag von WWW-Schizo »

Hi,

gibt es bereits einen dynamischen Meta Tag Mod für phpBB 3, sowas wie dieses hier: http://www.phpbb.de/viewtopic.php?t=496 ... sc&start=0

???
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Beitrag von tas2580 »

Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
bloddy newbie
Mitglied
Beiträge: 290
Registriert: 23.04.2003 23:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von bloddy newbie »

Ich habe den Mod von phpBB2 an phpBB3 angepasst und aus Bequemlichkeit einfach einen SVN-Patch für eine blanke Installation erstellt:

editiert am 14.02.2007, 23:43
+ Begrenzung der Keywords mittels Variable
+ minimale Keyword Länge mittels Variable
+ lange Keywords zuerst (Länge absteigend)

Code: Alles auswählen

Index: F:/htdocs/phpBB3/styles/subsilver2/template/overall_header.html
===================================================================
--- F:/htdocs/phpBB3/styles/subsilver2/template/overall_header.html	(revision 255)
+++ F:/htdocs/phpBB3/styles/subsilver2/template/overall_header.html	(working copy)
@@ -9,8 +9,8 @@
 <meta name="resource-type" content="document" />
 <meta name="distribution" content="global" />
 <meta name="copyright" content="2002-2006 phpBB Group" />
-<meta name="keywords" content="" />
-<meta name="description" content="" />
+{META_DESCRIPTION}
+{META_KEYWORDS}
 {META}
 <title>{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF -->{PAGE_TITLE}</title>
 
Index: F:/htdocs/phpBB3/styles/prosilver/template/overall_header.html
===================================================================
--- F:/htdocs/phpBB3/styles/prosilver/template/overall_header.html	(revision 255)
+++ F:/htdocs/phpBB3/styles/prosilver/template/overall_header.html	(working copy)
@@ -9,8 +9,8 @@
 <meta name="resource-type" content="document" />
 <meta name="distribution" content="global" />
 <meta name="copyright" content="2002-2006 phpBB Group" />
-<meta name="keywords" content="" />
-<meta name="description" content="" />
+{META_DESCRIPTION}
+{META_KEYWORDS}
 {META}
 <title>{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF -->{PAGE_TITLE}</title>
 
Index: F:/htdocs/phpBB3/viewtopic.php
===================================================================
--- F:/htdocs/phpBB3/viewtopic.php	(revision 255)
+++ F:/htdocs/phpBB3/viewtopic.php	(working copy)
@@ -1561,7 +1561,7 @@
 }
 
 // Output the page
-page_header($user->lang['VIEW_TOPIC'] .' - ' . $topic_data['topic_title']);
+page_header($topic_data['topic_title']);
 
 $template->set_filenames(array(
 	'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_body.html')
Index: F:/htdocs/phpBB3/includes/functions.php
===================================================================
--- F:/htdocs/phpBB3/includes/functions.php	(revision 255)
+++ F:/htdocs/phpBB3/includes/functions.php	(working copy)
@@ -3301,11 +3301,87 @@
 	// Which timezone?
 	$tz = ($user->data['user_id'] != ANONYMOUS) ? strval(doubleval($user->data['user_timezone'])) : strval(doubleval($config['board_timezone']));
 	
+	// META MOD
+	$min_word_length  = 5;
+	$max_word_count   = 5;
+	$topic_id 		  = 0;
+	$forum_id 		  = 0;
+	$meta_description = '';
+	$meta_keywords 	  = '';
+	
+	if (!isset ($_GET['mode']))
+	{
+		if (isset ($_GET['t']) && ((int) $_GET['t']>0))
+		{
+			$topic_id = (int) $_GET['t'];
+		}
+		elseif (isset ($_GET['f']) && ((int) $_GET['f']>0))
+		{
+			$forum_id = (int) $_GET['f'];
+		}
+	}
+	
+	if ($topic_id)
+	{
+        $sql = "SELECT		f2.forum_name AS parent_forum_name, 
+							f.forum_name, 
+							t.topic_title
+				FROM		" . TOPICS_TABLE . " t, 
+							" . FORUMS_TABLE . " f
+				LEFT JOIN	" . FORUMS_TABLE . " f2 ON f2.forum_id = f.parent_id
+				WHERE		f.forum_id = t.forum_id
+							AND t.topic_id = $topic_id";
+		$result = $db->sql_query ($sql);
+		$row 	= $db->sql_fetchrow ($result);
+		$db->sql_freeresult ($result);
+		
+    	if ($row['parent_forum_name'])
+    			$meta_description = $row['parent_forum_name'] . ' :: ' . $row['forum_name'] . ' :: ' . $row['topic_title'];
+    	else	$meta_description = $row['forum_name'] . ' :: ' . $row['topic_title'];
+        $meta_description = '<meta name="description" content="' . $meta_description . '">';
+        
+		$sql = "SELECT		w.word_text
+				FROM		" . TOPICS_TABLE . " t, 
+							" . SEARCH_WORDMATCH_TABLE . " m, 
+							" . SEARCH_WORDLIST_TABLE . " w
+				WHERE		t.topic_first_post_id = m.post_id
+							AND m.word_id = w.word_id
+							AND t.topic_id = $topic_id
+							AND LENGTH(w.word_text)>=$min_word_length
+				ORDER BY	LENGTH(w.word_text) DESC
+				LIMIT 		$max_word_count";
+        $result = $db->sql_query ($sql);
+        
+        $meta_keywords = '';
+        while ($row = $db->sql_fetchrow ($result))
+        {
+            $meta_keywords .= (!$meta_keywords) ? $row['word_text'] : ',' . $row['word_text'];
+        }
+		$db->sql_freeresult ($result);
+        $meta_keywords = '<meta name="keywords" content="' . $meta_keywords . '">';
+	}
+	
+	if ($forum_id)
+	{
+		$sql = "SELECT		f.forum_name,
+							f.forum_desc
+                FROM		" . FORUMS_TABLE . " f
+                WHERE		f.forum_id = $forum_id";
+		$result = $db->sql_query ($sql);
+		$row 	= $db->sql_fetchrow ($result);
+		$db->sql_freeresult ($result);
+		
+		$meta_keywords 	  = '<meta name="keywords" content="' . str_replace (" ", ",", $row['forum_name']) . '">';
+        $meta_description = '<meta name="description" content="' . $row['forum_desc'] . '">';
+	}
+	
 	// The following assigns all _common_ variables that may be used at any point in a template.
 	$template->assign_vars(array(
 		'SITENAME'						=> $config['sitename'],
 		'SITE_DESCRIPTION'				=> $config['site_desc'],
 		'PAGE_TITLE'					=> $page_title,
+		'META_DESCRIPTION' 				=> $meta_description,
+		'META_KEYWORDS' 				=> $meta_keywords, 
 		'SCRIPT_NAME'					=> str_replace('.' . $phpEx, '', $user->page['page_name']),
 		'LAST_VISIT_DATE'				=> sprintf($user->lang['YOU_LAST_VISIT'], $s_last_visit),
 		'LAST_VISIT_YOU'				=> $s_last_visit,
Index: F:/htdocs/phpBB3/viewforum.php
===================================================================
--- F:/htdocs/phpBB3/viewforum.php	(revision 255)
+++ F:/htdocs/phpBB3/viewforum.php	(working copy)
@@ -133,7 +133,7 @@
 }
 
 // Dump out the page header and load viewforum template
-page_header($user->lang['VIEW_FORUM'] . ' - ' . $forum_data['forum_name']);
+page_header($forum_data['forum_name']);
 
 $template->set_filenames(array(
 	'body' => 'viewforum_body.html')

Für alle, die mit SVN nicht so firm sind:
Minus (-) bedeutet, dass diese Stelle rausgeflogen ist.
Plus (+) bedeutet dass diese Stelle hinzugefügt wurde.

Einrückungen wurden leider nicht korrekt übernommen.

Grüße BN
Ich biete keinen PM oder E-Mail Support!
coolkasi
Mitglied
Beiträge: 6
Registriert: 07.09.2007 08:08
Wohnort: Magdeburg

Beitrag von coolkasi »

Sehr gut, bloddy newbie, funzt tadellos. Allerdings hätte ich auf meiner Startseite gern meine eigenen Keywords und den Titel. Was muss ich ändern???

Gruß coolkasi
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“