Sysix / asd_news

Ein News Addon für Redaxo 4.6+
MIT License
5 stars 2 forks source link

Anleitung für Metatitle / Metadescription #32

Closed ghost closed 8 years ago

ghost commented 8 years ago

Hallo, ich wäre dir Dankbar für eine Anleitung um im Headbereich folgendes zu befüllen:

Die entsprechenden Felder kann ich wunderbar bei den Metainfos anlegen, aber kriege ich es nicht die beiden Felder im Headbereich zu befüllen...

Gibt es eine Möglichkeit über url_control auch den Kategorienamen in der Url anzeigen zu lassen? Und ist eine Rückdatierung neuer Artikel möglich?

Feines Addon hast du gebastelt, danke.

LG Christian

Sysix commented 8 years ago

Hallo,

1. Metatitle / Metadescription Mit der Methode replaceMetaTags() kannst du weitere Meta Felder hinzufügen. Beispiel: https://github.com/Sysix/asd_news/blob/master/modules/modulAusgabe_1.php#L16 Den Titel-Tag an sicht ist leider hiermit nicht möglich. Aber via die Extension OUTPUT_FILTER bestimmt möglich

2. Kategorien Namen in der URL Leider bietet das url_control AddOn nicht die Möglichkeit aus 2 Feldern etwas zu basteln, oder Irre ich mich da?

3. Rückdatierung möglich Ich sehe hier kein Problem, wo bleibst du stecken?

Gruß Sysix

ghost commented 8 years ago

Hey schaue mal hier das ist von TVSblog. Wenn man die entsprechenden Felder anlegt müssten sie ja nur ausgelesen werden. Das funktioniert so wunderbar mit SEO42 zusammen. So in die Richtung müsste das doch gehen oder? Ich weiss nur nicht wie ich das umsetzen soll das es auch läuft. Es würde deine News um einiges aufwerten...

Lg Christian <?php

// ------ DESCRIPTION/KEYWORDS

$meta_title = seo42::getTitle(); $meta_description = seo42::getDescription(); $meta_keywords = seo42::getKeywords();

// TVSBlog-Meta-Daten $tvsblog_post_id = rex_get('post_id', 'int', -1); if ($tvsblog_post_id > -1) { $tvsblog_table_pre = $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid']['tvsblog']; $tvsblog_art_table = $tvsblog_table_pre . "_articles"; $sql = new rex_sql(); $sql->setQuery("SELECT * FROM " . $tvsblog_art_table . " WHERE id = " . $tvsblog_post_id);

  if ($sql->getRows() > 0 ) {

     $meta_title      = $sql->getValue('seo_title');
     $meta_keywords   = $sql->getValue('meta_keywords');
     $meta_description= $sql->getValue('meta_description');
  }

} ?>

<?php echo $meta_title; ?>
ghost commented 8 years ago

Das wird dann in die entsprechenden Felder im Head eingefügt:

<?php echo $meta_title; ?>

<?php echo $meta_description; ?>

Sysix commented 8 years ago
$news->replaceMetaTags(array(
    'description' => $news->getValue('deinFeld'),
    'keywods' => $news->getValue('deinFeld#2')
));

der Code würde enau die 2 Variablen ersetzten. das TVS Addon nimmt hier einen anderen Weg. Für ich persönlich ist mein Weg sauberer

ghost commented 8 years ago

Hab es lösen können nachdem ich erstmal wie doof vor dem Wald gestanden habe.... So klappt es bei mir einwandfrei mit dem anlegen der entsprechenden Felder in den Metainfos: <?php

// ------ DESCRIPTION/KEYWORDS

$seotitle = seo42::getTitle(); $description = seo42::getDescription();

?> <?php

$news_id = rex_asd_news::getNewsId();

if ($news_id) {

/** @var rex_asd_news $news */
$news = rex_asd_news::getNewsById($news_id);

$url = $news->getUrl(); $text = $news->getValue('asd_text'); $date = $news->getPublishDate(); $title = $news->getValue('title'); $seotitle = $news->getValue('asd_seotitle'); $description = $news->getValue('asd_description');

$news->replaceSeoTags(array(
    'keywords' => '',
    'og:image' => $news->getImage(),
    'title' => $news->getValue('title'),
    'seotitle' => $news->getValue('asd_seotitle'),
    'description' => $news->getValue('asd_description'),

));

} ?>

Title: <?php echo $seotitle; ?> Description: <?php echo $description; ?>