REDAXO 5 AddOn zur URL-Generierung für eigene AddOns (ehemals Url Control, ehemals Frau Schultze)
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lang
lib/Url
pages
CHANGELOG.md
LICENSE.md
README.md
boot.php
install.php
package.yml
uninstall.sql
update.php

README.md

Url AddOn

Table of Contents

  1. Beschreibung
  2. Beispiel: News AddOn
  3. URL-Pathlist neu generieren
  4. Installation
  5. unterstützte Rewriter

Beschreibung


REDAXO 5 AddOn zur URL-Generierung für Daten aus den Datenbanktabellen (ehemals Url Control, ehemals Frau Schultze)

Beispiel: News AddOn


Normlerweise wird eine News über eine Url wie /news.html?news_id=1 geholt.

Mit dem AddOn ist es möglich Urls wie /news/news-title/ zu erzeugen.

Der REDAXO Artikel /news-title/ selbst existiert dabei nicht. Es wird alles im REDAXO Artikel /news/ abgehandelt.

Url holen

Um die Url einer einzelnen News auszugeben verwendet man:

$newsUrl = rex_getUrl($newsArticleId, $newsClangId, ['id' => $newsDataId]);
Variable Beschreibung
$newsArticleId Artikel Id des Detailartikel
$newsClangId Clang Id des Detailartikel
$newsDataId Datensatz Id der News

Id holen

Um die tatsächliche Id der einzelnen News zu erhalten, wird folgende Methode verwendet:

$newsDataId = UrlGenerator::getId();

Beispiel Code

<?php
$newsDataId = UrlGenerator::getId();
$newsArticleId = 5;

if ($newsDataId > 0) {
    $datas = rex_sql::factory()->getArray('SELECT * FROM news_table WHERE id = ?', [$newsDataId]);
    if (count($datas)) {
        $data = current($datas);
		echo $data['title'];
	}
} else {
    $datas = rex_sql::factory()->getArray('SELECT * FROM news_table');
    if (count($datas)) {
    	foreach ($datas as $data) {
			echo '<a href="' . rex_getUrl($newsArticleId, '', ['id' => $data['id']]) . '">' . $data['title'] . '</a>';
		}
	}
}
?>

Weitere Parameter

Weitere Parameter können über die Funktion getData geholt werden

<?php
$urldata = UrlGenerator::getData();
dump($urldata);
?>

URL-Pathlist neu generieren


Wenn Datenbanktabellen außerhalb des YForm-Table-Managers befüllt werden, greift der passende EP nicht und die URLs werden nicht neu generiert. Dies lässt sich manuell nachholen, indem folgende Methode aufgerufen wird.

UrlGenerator::generatePathFile([]);

Installation


  • Via Install AddOn im Backend herunterladen
  • AddOn installieren und aktivieren

unterstützte Rewriter