Drupal 6: Metatags für google-scholar in ubercart-beitrag
am 06.10.2016 - 09:15 Uhr in
Hallo liebe Kollegen,
ich bin Anfänger in Drupal und habe ich folgende Aufgabe.
eine Drupal-6 Webseite mit Beiträgen in Ubercart. Das war früher ein Shop, nun gibt es die Shop-Beiträge als freie Beiträge mit Downloads von PDF-Dateien. Aus historischen Gründen ist das noch so angelegt.
Es ist ein Upgrade geplant, aber das wird noch etwas dauern. Möglichst jetzt soll ich noch in die Drupal-6 Webseite in die Beiträge Metatags für google scholar einbauen.
Die lauten dann z.B.
<meta name="citation_author" content="Harry Potter" >
Das Knifflige daran ist: die Informationen für die Meta-Tags sind in den Beiträgen schon enthalten. Sie sollen deshalb nicht von Hand eingegeben werden sondern automatisch ihre Inhalte aus den Beiträgen oder der Datenbank auslesen.
Wenn ich mich etwas besser mit Drupal auskennen würde, würde ich dafür selbst ein Modul schreiben.
Aber vielleicht hat jemand eine Idee, wie man das mit bereits existierenden Module (Drupal 6) lösen kann. Meine Suche war bis jetzt nicht erfolgreich, was vielleicht auch daran liegt, dass ich mit Drupal noch wenig Erfahrung habe...
Vielleicht gibt es ja auch die Möglichkeit, dass ich ein existierendes Modul so umbaue, dass es macht, was ich will.
Vielen Dank für eure Tips
Wolfgang :-)
- Anmelden oder Registrieren um Kommentare zu schreiben
Hey Wolfgang!Bei D7 könnte
am 10.10.2016 - 11:36 Uhr
Hey Wolfgang!
Bei D7 könnte man direkt zum MetaTag Modul zugreifen. Für D6 gibt es den Nodewords Modul (D6 - 1.15-beta1) wo man den "Author" einstellen kann. Meine Vermutung nach, findest du für die recht alte Platform, keine Lösung welche die neue Meta Tags unterstützen würde.
Man sollte sich das näher anschauen und möglicherweise eine "Notlösung" angehen.
Z.B.: Q&D wäre im page.tpl.php von deinen Theme den MetaTag zu setzen. Dort hast du aber keinen zugriff auf deine custom Felddaten die du wahrscheinlich verwenden möchtest. "drupal_get_title()" gibt dir den aktuellen Titel zurück falls du diesen brauchen solltest:
<meta name="citation_author" content="<?php print drupal_get_title(); ?>" >
Im node.tpl.php hast du wiederum mehr Möglichkeiten aber ist auch eine recht ungewöhnliche Lösung:
<?php <?php if(isset($node->FeldName)): ?>
<?php drupal_set_html_head('<meta name="citation_author" content ="' . drupal_render($node->FeldName) . '">'); ?>
<?php endif; ?>
Bitte betrachte dies als eine reine Empfehlung wobei ich die Codes auch nicht ausprobiert habe. Sicherlich kann man dies auch besser lösen aber nicht auf die schnelle Weise und nicht on Remote wie hier über diesen Forum.
There is a module for that :).
Hallo Francis, Vielen Dank
am 10.10.2016 - 12:55 Uhr
Hallo Francis,
Vielen Dank für deine Antwort! Ich habe eine Lösung gefunden: Wenn ich einen Block anlege, steht mir die Möglichkeit offen, php-Code einzugeben.
Hier kann ich das Node-Object abfragen, und aus diesen Informationen dann meine Metatags basteln.
Mit drupal_set_html_head setze ich dann die einzelnen Tags...
Und da ich für einen Block genau angeben kann, auf welchen Seiten er erscheint, kann ich das sauber innerhalb der gesamte Site abtrennen.
Viele Grüße
Wolfgang