Metainfo als "Title" in navi auslesen und einbinden

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

Metainfo als "Title" in navi auslesen und einbinden

Beitragvon megpro » 3. Mär 2011, 22:32

Hi,

es geht darum, in einer Navigation ein "title" Attribut einzufügen welches Informationen aus einer Metainfo ausliest. Sinn ist in diesem Fall eine SEO-freundliche Navi.

Das bedeutet also, dass die Metainfo der Kategorie eingefügt wird, auf welche verlinkt wird. Und das bekomme ich nun nicht hin.

Es ist die Universal-Navigation: http://www.redaxo.org/de/download/templates/?template_id=84&searchtxt=&cat_id=2, welche weitestgehend noch identisch ist mit dem Original.

Im Moment binde ich als "TITLE" einfach den Kategorienamen ein:
Code: Alles auswählen
$aTag = '<a href="'.$item->getUrl().'" title="'.htmlspecialchars($item->getName()).'">'.htmlspecialchars($item->getName()).'</a>';


Dieser soll jetzt eben durch eine Metaangabe ersetzt werden. Die Frage ist nicht wie ich Matadaten anlege usw., sondern wie ich die Navigation nun dazu bewege diese auszugeben.

Ich freue mich auf hilfe ;-) und coole Codeschnipsel :mrgreen:

Jens
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon Markus.Lorch » 3. Mär 2011, 22:50

Code: Alles auswählen
$item->getValue('art_title')


Das kannst du noch verfeinern und wenn kein Titel angegeben ist trotzdem wieder den Namen verwenden.

Code: Alles auswählen
($item->getValue('art_title') != '') ? $item->getValue('art_title') : $item->getName()


Wobei art_title durch den echten Feldnamen ersetzt werden muss. Logisch nä ;)
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 636
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon megpro » 3. Mär 2011, 23:06

Hi,

danke für die schnelle Antwort! Was ich am coolsten finde: das habe ich schon probiert. und ich habe von PHP nur mittelmäßig viel Anhnug :P

Aber es funktioniert nicht. Es gibt zwar keine Fehler aber der Title-Tag ist halt leer "". Ich habe es auch schon mit cat_title probiert. (das Metafeld heist cat_title bzw. art_title)

Gruß Jens
Jetzt auf Rügen ;-)
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon Markus.Lorch » 3. Mär 2011, 23:10

Gut, ich geb zu. Ich habs jetzt nicht probiert sondern ausem Bauch kurz getippt.

Aber was immer ganz cool wäre: Welcher fehler kommt den?

P.s. wenn dein Feld bei dir cat_title heist, dann muss das auch eingetragen werden. Es muss so heisen wies eben heist ;) Nicht zwei verschiedene. Im Zweifelsfal noch mal kurz in den MetaInfos nachkucken.

Edit: Btw. ich sehe gerade das Objekt $item ist vom Typ OOCategory. D.h. gehts dann mit den Meta-Daten der Kategorie. Nicht mit art_ Metadaten.

Edit Edit: Asso. Es kommt kein Fehler - sorry. schon spät am abend
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 636
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon megpro » 3. Mär 2011, 23:26

Na es kommt ja kein Fehler. Das Ergebnis ist halt: <a href="/about.html" title="">about</a>, also ein leerer Title. Die Metas lauten cat_title bzw. art_title und ganu das habe ich auch so in den Code eingefügt. Werden vielleicht die Metas von der falschen Kategorie bzw. vom falschen Artikel ausgelesen?

Auf dein EDIT: Da ist es das gleiche. Mit cat_title will es auch nicht funktionieren. In den Metafeldern der Kategorien habe ich auf jeden Fall auch was eingegeben.

Gruß Jens
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon Markus.Lorch » 3. Mär 2011, 23:54

Ich probiers morgen mal aus. Es gibt kein Grund warum es nicht gehen sollte.

Zum Thema art_ oder cat_ - ja^^ Mann merkt, dass es schon spät ist ;)

Kannst du mal Posten wie du die funktion aufrufst? Würd mich mal interessiern welche Parameter du angegeben hast. Momentan seh ich nicht was falsch ist - sicher nur ne Kleinigkeit.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 636
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon megpro » 4. Mär 2011, 00:38

Hi,

Ich habe das so wie du es vorgeschlagen hast reingesetzt:

Code: Alles auswählen
$aTag = '<a href="'.$item->getUrl().'" title="'.htmlspecialchars(($item->getValue('art_title') != '') ? $item->getValue('art_title') : $item->getName()).'">'.htmlspecialchars($item->getName()).'</a>';


und das Ergebnis ist, dass jetzt wieder die Kategorienamen als Title ausgegeben werden, also genau wie es beabsichtigt war. Daraus lässt sich nun wohl schließen, dass "art_title" leer ist, oder?

Kann mir auch nicht vorstellen, die metainfos falsch angelegt zu haben. was soll man denn da falsch machen können? habe ich auch schon öfter gemacht... mhh.

Gruß Jens
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon NGW » 4. Mär 2011, 09:22

Wenn dein Item ein Kategorie-Objekt ist, sollte folgendes funktionieren:
Im Metadata-Addon cat_title anlegen und über die Strukturverwaltung füllen.
Code: Alles auswählen
$aTag = '<a href="'.$item->getUrl().'" title="'.htmlspecialchars(($item->getValue('cat_title') != '') ? $item->getValue('cat_title') : $item->getName()).'">'.htmlspecialchars($item->getName()).'</a>';


Für den Fall, dass $item ein Artikel-Objekt ist:
$item->getValue('art_title') ist gleich $item->getName(), deshalb solltest du ein neues Metadaten-Feld anlegen: art_navi_title
Code: Alles auswählen
$aTag = '<a href="'.$item->getUrl().'" title="'.htmlspecialchars(($item->getValue('art_navi_title') != '') ? $item->getValue('art_navi_title') : $item->getName()).'">'.htmlspecialchars($item->getName()).'</a>';


Hier läuft der Code ohne Probleme.
Gruß, Nico
NGW
 
Beiträge: 47
Registriert: 1. Mär 2011, 08:12

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon Markus.Lorch » 4. Mär 2011, 10:04

Da Artikel und Kategorien sich die selbe Datenbanktabelle teilen und es keine wesentlichen Unterschiede gibt müsste es egal sein ob es gerade Artikel oder Kategorie Objekt ist. Zugriff müsste immer gehen.

Jens: Was passiert denn wenn du mal die einfachere Variante probierst?
Code: Alles auswählen
$item->getValue('cat_title')


ohne die if-abfrage. Wenn das auch leer bleibt, dann ist entweder dein Meta-Feld wirklich leer, oder es hat nen anderen Namen ;)
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 636
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Funktioniert jetzt

Beitragvon megpro » 4. Mär 2011, 12:36

Hi,

danke für die Unterstützung! Es funktioniert mit folgendem Code:

Code: Alles auswählen
$aTag = '<a href="'.$item->getUrl().'" title="'.htmlspecialchars(($item->getValue('cat_title') != '') ? $item->getValue('cat_title') : $item->getName()).'">'.htmlspecialchars($item->getName()).'</a>';


und ich habs gestern genau so gemacht. Vielleicht cache? naja egal. Geht ja. Super Sache :P

Gruß Jens
Jetzt auf Rügen ;-)
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon ralf.schlott » 8. Mär 2011, 17:05

Kann man irgendwo sehen wo du das einsetzt? Fände ich doch mal spannend!

Danke
Ralf
Benutzeravatar
ralf.schlott
 
Beiträge: 426
Registriert: 5. Dez 2007, 20:22
Wohnort: Hamburch

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon Markus.Lorch » 8. Mär 2011, 17:48

Dieser Thread bezieht sich auf die im ersten Post verlinkte Navigation. Mit der rex_navigation funktioniert das in dieser Form nicht - fals das der Plan war ;)
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 636
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: Metainfo als "Title" in navi auslesen und einbinden

Beitragvon megpro » 8. Mär 2011, 22:00

Da hat er recht der Markus,

Sehen kann man das z.B. hier: http://www.afterworkout.de/

Einige Navigationspunkte haben SEO-Titles andere nur den Namen als Title. Mal mit der Maus drüber gehen oder Quelltext ansehen 8) .

MfG Jens
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast