Coder Social home page Coder Social logo

friendsofredaxo / yrewrite_scheme Goto Github PK

View Code? Open in Web Editor NEW
37.0 5.0 7.0 116 KB

Stellt verschiedene URL-Schemes für YRewrite mehrsprachig zur Verfügung

License: MIT License

PHP 100.00%
redaxo redaxo-addon yrewrite url-schemes seo hacktoberfest hacktoberfest2021

yrewrite_scheme's Introduction

YRewrite Scheme

stellt eine Auswahl von URL-Schemes für YRewrite zur Verfügung.

Für jedes Schema können der Suffix, die passende URL-Normalisierung je Sprache und eine URL-Ersetzung gewählt werden. Andere AddOns, die eigene Schemes installieren, sollten vorab deaktiviert werden. Die Einstellungen findet man im zusätzlichen Reiter YRewrite Scheme in YRewrite.

Suffix

Hier kann der Suffix der URLs festgelegt werden. Zur Auswahl stehen:

  • "ohne"
  • ".html"
  • "/"

Schemen

1. Standard

Stellt ein optimiertes YRewrite-Schema zur Verfügung, das dieser Form entspricht:
example.tld/sprache/kategorie/kategorie/…/artikel/ Es ist insofern optimiert, dass es html Tags aus URLs entfernt und eine erweiterte Ersetzungstabelle verwendet. Die erweiterte Ersetzungstabelle weist nur bei speziellen Serverkonfigurationen unterschiede zum YRewrite Schema auf. Sie ist vor allem für Sprachen, die die URL kodierung Nutzen interessant.

2. One Level

Implementiert ein kurzes URL-Schema für alle Unterseiten.

Vorher:

example.tld/en/coffee/beans/india/malabar.html (yrewrite 1)
example.tld/en/coffee/beans/india/malabar/ (yrewrite 2)

Nachher:

example.tld/en/malabar (ohne suffix)

⚠️ Wichtig: Das Schema ist nur dann sinnvoll, wenn Seiten innerhalb einer Sprache nicht mehrfach vorkommen. Gäbe es etwa den Malabar-Kaffee nicht nur in 🇮🇳 Indien, sondern auch in 🇧🇷 Brasilien, sollte dieses URL-Schema besser nicht verwendet werden!


URLReplace

Ersetzt die URLs der Elternkategorien mit den URLs der nächst zugehörigen Kindkategorie.
Hier stehen 2 Varianten zur Auswahl:

  • Variante 1: Es werden nur die Kategorien ersetzt, deren Startartikel keinen Inhalt haben.
  • Variante 2: Es werden alle Kategorien ersetzt, unabhängig vom Inhalt der Startartikel.

Ideal für Webpräsenzen, die keine Vorschaltseiten für die jeweilige Kategorie benötigen (z.B. bei einer Dropdown-Navigation)

Sprachen

Für jede Sprache kann eingestellt werden, ob das optimierte YRewrite Schema verwendet werden soll, oder die Zeichen URL kodiert werden sollen. Letzteres ermöglicht russische, chinesische und andere URLs - kurz gesagt URLs mit Zeichen die nicht das lateinische Alphabet verwenden.

мне-нравится-редакс.html

编辑系统.html

Schema modifizieren

YRewrite Scheme lässt sich wie das Original YRewrite auch modifizieren / erweitern. Hierzu muss sichergestellt werden, dass das eigene AddOn oder das Projekt-AddOn in der package.yml load: late notiert hat. Damit wäre sichergestellt, dass es nach dem yRewrite_scheme AddOn geladen und registriert wird.

Beispiel Änderung der Umschreibung für das & Zeichen in einer Url

In die boot.php des project-AddOns:

$addon = rex_addon::get('project');
$scheme = new my_project_rewrite_scheme();
rex_yrewrite::setScheme($scheme);

In den Lib-Ordner des project AddOns (z.B. `my_project_rewrite_scheme.php)

class my_project_rewrite_scheme extends yrewrite_url_schemes
{
    /**
     * @param string $string
     * @param int    $clang
     *
     * @return string
     */
    public function normalize($string, $clang = 1)
    {
        $string = str_replace(
      ['&'],
      ['und'],
      $string
    );
        return parent::normalize($string, $clang);
    }
}

Eigenes Schema verwenden ohne dieses AddOn?

Anleitung und Beispiele findet Ihr in der Dokumentation innerhalb des yrewrite-Addons oder auf Github.

Lizenz

siehe LICENSE

Credits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.