Wie erstellt man "<meta name="description" ...>" für Modul?
Eingetragen von soezkan (558)
am 03.09.2020 - 09:47 Uhr in
am 03.09.2020 - 09:47 Uhr in
Hallo Leute,
im "hook_menu" meines Moduls habe ich im $items-array eine Description angegeben:
$items['mein-eigenes-modul'] = array(
...
'description' => 'Beschreibung was mein Modul macht und wieso man es verwenden kann ...',
...
);
Damit dachte ich erreiche ich, dass im Quelltext der Seite (also URL = "/mein-eigenes-modul"), über die das Modul aufgerufen wird, das Ganze auftaucht als:
<meta name="description" content="Beschreibung was mein Modul macht und wieso man es verwenden kann ..." />
Leider Fehlanzeige!
Was mache ich falsch?
Kann mir da jemand einen Tipp geben?
Danke
Soezkan
- Anmelden oder Registrieren um Kommentare zu schreiben
Du meinst sicher den
am 04.09.2020 - 11:49 Uhr
Du meinst sicher den beschreibenden Text in der .info.yml deines Moduls? Wenn du mal in eine solche Datei schaust, dann sihst du es. Oder du liest einfacch hier nach. https://www.drupal.org/docs/creating-custom-modules/let-drupal-know-abou...
https://drupal-tv.de
Drupal sehen und lernen
Hallo dinmikkith,danke für
am 04.09.2020 - 14:18 Uhr
Hallo dinmikkith,
danke für Deine Antwort.
Was ich allerdings meinte ist eine Meta-Description die im
<head>
der Seite steht und von Suchmaschinen in der Suchergebnisliste angezeigt wird.Wenn ich mein Modul auf meiner Webseite aufrufe, gibt es im Quellcode aber gar kein
<meta name="description" ... />
Das Modul habe ich nur für mich und meine Webseite programmiert.
Nur da soll es auftauchen. Es funktioniert, nur die Suchergebnisse bei Google werden von Google selbst erstellt und nicht aus einer entsprechenden
<meta name="description" ... />
herausgelesen.Doch genau da, in den Suchergebnissen bei Google, soll diese description erscheinen!
Was mache ich da?
Ah, Dann tatsächlich über das
am 04.09.2020 - 14:42 Uhr
Ah, Dann tatsächlich über das übersteuern der des Templates im Theme oder eben im Modul Ich kann dir allerdings auch keine Anleitung dafür gebem, da ich kein Vollwertiger Drupal Programmierer bin. An deiner Stelle würde ich das Meta-Tag Modul auseinander nehmen. Die machen das doch schon. Grundsätzlich musst du Drupal sagen, dass es den Tag mit einem Wert, den du über die UI oder programmatisch vorgibst, füllen soll. Also muss die Variable für den Wert irgendwie über die UI geändert und dann der Cache neu aufgebaut werden, damit im Browser auch der neue Wert auftauchen kann.
Das Sub-Modul für Hreflang im MetaTag Modul verändert nur das hreflang tag und kann dir vielleicht als Beispiel dafür dienen, wie das gehen könnte. Ich mach sowas immer im Theme über eine twig.tpl, Datei oder verlasse mich auf das MetaTag-Modul, weil ich schlicht kein PHP kann :-D
Hier ist der Link zur Repo des Href-Lang Submoduls für MetaTag.
https://git.drupalcode.org/project/metatag/-/tree/8.x-1.x/metatag_hreflang
Ich hoffe, du kannst den Ansatz da raus lesen.
https://drupal-tv.de
Drupal sehen und lernen
Da Du hook_menu() verwendest
am 04.09.2020 - 16:46 Uhr
Da Du hook_menu() verwendest reden wir über D7.
hook_menu() hat nichts mit den Meta-Tags zu tun.
Du möchtest ja im Prinzip ein Meta-Tag für eine bestimmte URL "/mein-eigenes-modul" ausgeben.
Als ein Modul scheint das vielversprechend: https://www.drupal.org/project/path_metatags - Kenne es nicht, aber von der Beschreibung erfüllt das genau Deinen Zweck und hat nicht den Overhead vom Metatag-Modul
Programmatisch solltest Du es mit https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_... lösen können - Man muss auf diesen Hinweis achten:
This function can be called as long as the headers aren't sent.
Danke für den Tipp.Werde es
am 04.09.2020 - 19:02 Uhr
Danke für den Tipp.
Werde es nun aber so regeln, dass ich per if-Abfrage über den $_SERVER-Get-Pfad ermittele ob das Modul aufgerufen wurde und dann entsprechend das
<meta>
-Tag per echo direkt im<head>
meines Templates ausgebe.Eigentlich dachte ich, dass das auch in Drupal 7 einfach Standard ist, doch es scheint keine Möglichkeit dafür zu geben.