[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Metatags für jeden Artikel, wenn leer von Startseite - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
blubb
Beiträge: 33
Registriert: 13. Jul 2005, 13:39
Wohnort: Hannover

Metatags für jeden Artikel, wenn leer von Startseite

17. Jul 2005, 02:58

Hi Leute,

hier mal ne kurze Anleitung, um separate Metatags für jeden Artikel im head auszugeben. Wenn die Metatags des Artikels leer sind, werden automatisch die Metatags der Startseite ausgegeben:

in \redaxo\include\classes\class.ooarticle.inc.php Zeile 360
eingefügen:

Code: Alles auswählen

function getKeywords() {
   return $this->_suchbegriffe;
}
im Template im head ergänzen:

Code: Alles auswählen

<?php
// Metatags einlesen
if($this->getValue("beschreibung")!= "")
{
	$meta_beschreibung = htmlentities($this->getValue("beschreibung"));
}
else
{
	// wenn leer, dann Startartikel
	$meta_desc = OOArticle::getArticleById($REX[STARTARTIKEL_ID]);
	$meta_beschreibung = htmlentities($meta_desc -> getDescription());
}

if($this->getValue("suchbegriffe")!= "")
{
	$meta_suchbegriffe = htmlentities($this->getValue("suchbegriffe"));
}
else
{
	// wenn leer, dann Startartikel
	$meta_key = OOArticle::getArticleById($REX[STARTARTIKEL_ID]);
	$meta_suchbegriffe = htmlentities($meta_key -> getKeywords());
}
?>

<meta name="description" content="<?php echo $meta_beschreibung; ?>">
<meta name="abstract" content="<?php echo $meta_beschreibung; ?>">
<meta name="keywords" content="<?php echo $meta_suchbegriffe; ?>">
und wer es XHTML-konform haben will:

Code: Alles auswählen

<meta name="description" content="<?php echo $meta_beschreibung; ?>" />
<meta name="abstract" content="<?php echo $meta_beschreibung; ?>" />
<meta name="keywords" content="<?php echo $meta_suchbegriffe; ?>" />
Vielleicht kann's ja jemand gebrauchen.

Gruß
Thorsten

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

17. Jul 2005, 12:22

Hi Thorsen,

danke für die vielen Rückmeldungen...

Der ein oder andere Einsteiger kann das bestimmt gut brauchen.

Gruß,
Markus

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

10. Aug 2005, 13:14

Ein Supertipp!

Ich hab das bei einer Redaxo 2.7-Site sofort eingebaut. Aber kann es sein, dass das mit 3.0 nicht mehr funktioniert?

Die Seitenbeschreibung wird zwar angezeigt, nicht jedoch die Keywords. (Die class.ooarticle.inc.php hab ich natürlich um die function getKeywords() erweitert.)

Danke,
Peter.

blubb
Beiträge: 33
Registriert: 13. Jul 2005, 13:39
Wohnort: Hannover

10. Aug 2005, 13:31

Hi Peter,
pbickel hat geschrieben: Ich hab das bei einer Redaxo 2.7-Site sofort eingebaut. Aber kann es sein, dass das mit 3.0 nicht mehr funktioniert?

Die Seitenbeschreibung wird zwar angezeigt, nicht jedoch die Keywords. (Die class.ooarticle.inc.php hab ich natürlich um die function getKeywords() erweitert.)
Habe mit der 3.0 noch nicht gearbeitet. Wäre eine Frage an die Chief-Programmierer.

Gruß
Thorsten

PEN
Beiträge: 42
Registriert: 21. Apr 2005, 14:49

10. Aug 2005, 13:32

Ich habe es in der 3er Version folgendermassen gelöst:

Code: Alles auswählen

if($this->getValue("description") != "") { 
   $meta_beschreibung = htmlentities($this->getValue("description")); 
} else { 
   $meta_beschreibung = htmlentities("Hier die Standard-Beschreibung eingeben..."); 
} 
if($this->getValue("keywords")!= "") { 
   $meta_suchbegriffe = htmlentities($this->getValue("keywords")); 
} else { 
   $meta_suchbegriffe = htmlentities("Hier die Standard-Suchbegriffe eingeben..."); 
} 
Dannach im Template die Metatags ändern:

Code: Alles auswählen

<meta name="description" content="<?php echo $meta_beschreibung; ?>"> 
<meta name="abstract" content="<?php echo $meta_beschreibung; ?>"> 
<meta name="keywords" content="<?php echo $meta_suchbegriffe; ?>"> 
Gruss
PEN
XP, IE 6

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

10. Aug 2005, 13:40

hi,

und ab ins wiki mit dem zeug :)

gruss

jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

PEN
Beiträge: 42
Registriert: 21. Apr 2005, 14:49

10. Aug 2005, 17:19

Erledigt :D

Wusste nicht genau wohin. Habes es mal unter Beispiele gepostet.

Gruss
PEN
XP, IE 6

bibi
Beiträge: 94
Registriert: 9. Jul 2005, 04:26
Wohnort: Bielefeld

10. Aug 2005, 18:30

:)

... unter Templates hätte es auch gut gepasst.

Carsten :)

Goldfisch
Beiträge: 230
Registriert: 22. Sep 2004, 17:47
Wohnort: Aschaffenburg
Kontaktdaten: Website

11. Aug 2005, 11:33

wäre vielleicht ganz gut, wenn bei Beispielen und Templates, die Erweiterungen und Tipps mit REDAXO-Versionsnummer angegeben werden.

Zurück zu „Allgemeines [R2]“