TYPO3 Plugin:

cps_shortnr

cps_shortnr

Installation

  • die Erweiterung im Extension Manager aktivieren

Konfiguration

  • definieren Sie eine Konfigurationsdatei in den Erweiterungseinstellungen
  • den regulären Ausdruck an Ihre Bedürfnisse anpassen
  • sie sollten die Konfiguration für pageNotFound_handling nur dann ändern, wenn es wirklich nötig ist und Sie wissen, was Sie tun

Konfigurationsdatei

Standard:

cps_shortnr {
    decoder.data = register:tx_cpsshortnr_match_1

    encoder {
        feld = tx_cpsshortnr_language_parent
        dataWrap = {field:tx_cpsshortnr_identifier_upper}|||
        dataWrap.override = {field:tx_cpsshortnr_identifier_upper}|-{field:tx_cpsshortnr_language}
        dataWrap.override.if.isTrue.field = tx_cpsshortnr_language
    }

    # Seite
    p {
        quelle {
            record.data = register:tx_cpsshortnr_match_2
            tabelle = Seiten
        }
        pfad {
            typolink {
                parameter.field = uid
                addQueryString = 1
                returnLast = url
                additionalParams.wrap = &L=||
                additionalParams.data = register:tx_cpsshortnr_match_3
                additionalParams.required = 1
            }
        }
    }

    # News
    n {
        quelle {
            record.data = register:tx_cpsshortnr_match_2
            tabelle = tx_news_domain_model_news
        }
        pfad {
            typolink {
                parameter = 1
                addQueryString = 1
                additionalParams.cObject = COA
                additionalParams.cObject {
                    10 = TEXT
                    10 {
                        wert = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]={field:uid}
                        insertData = 1
                    }

                    20 = TEXT
                    20 {
                        wrap = &L=||
                        erforderlich = 1
                        daten = register:tx_cpsshortnr_match_3
                    }
                }
                returnLast = url
            }
        }
    }

    # Interne Nachrichten
    in < .n
    in.source.encodeMatchFields.type = 1
}

cps_shortnr Objekt

Die Konfiguration muss in ein cps_shortnr-Objekt eingebettet sein.

dekodierer

Eigentum Datentyp Beschreibung
dekodierer stdWrap Der Identifikator für den Dekodierungsprozess.

encoder

Eigentum Datentyp Beschreibung
encoder stdWrap Die Anweisung, wie Kurzlinks gebildet werden. Der aktuelle Datensatz steht ebenso zur Verfügung wie vier interne Felder: tx_cpsshortnr_identifier_lower (ermittelter Identifikator in Kleinbuchstaben), tx_cpsshortnr_identifier_upper (ermittelter Identifikator in Großbuchstaben), tx_cpsshortnr_language (entweder aktuelle Sprache oder Sprache des Datensatzes, falls vorhanden) und tx_cpsshortnr_language_parent (entweder Uid des Datensatzes oder dessen Sprachstamm, falls vorhanden).

Identifier-Konfiguration

Der Name eines Identifikators ist frei wählbar. Möglicherweise müssen Sie den regulären Ausdruck für Ihre Bedürfnisse übernehmen. Bitte sei bewusst, dass dies jedoch ein kurzer Bezeichner sein sollte.

quelle

Eigentum Datentyp Beschreibung
aufzeichnung stdWrap Die UID des Datensatzes, der angezeigt werden soll.
tabelle text Die Tabelle des Datensatzes, der angezeigt werden soll.
encodeMatchFields text Zusatzfeld => Wertzuweisung, die der aktuelle Datensatz für den Kodierungsprozess erfüllen muss.

weg

Eigentum Datentyp Beschreibung
weg stdWrap Die neue URL, die für die Umleitung verwendet wird.

Regulärer Ausdruck

Standard:

([a-zA-Z]+)(\d+)(-(\d+))?

Der reguläre Ausdruck wird verwendet, um die eingehende URL (Shortlink) in verschiedene Teile aufzuteilen. Diese Teile können im Inneren verwendet werden die Identifikator-Konfiguration. Sie werden in der Variablen TSFE->register mit dem Präfix tx_cpsshortnrmatch gespeichert (z.B. tx_cpsshortnr_match_1, tx_cpsshortnr_match_2).

SeiteNicht gefundene_Handhabung

Für eine detaillierte Beschreibung siehe Install Tool > All configuration > FE > pageNotFound_handling

TypoScript-API

Beispiel:

lib.shortlink = USER
lib.shortlink {
    userFunc = CPSIT\CpsShortnr\Shortlink\Shortlink\Shortlink->Erzeuge
    record.data = TSFE:id
    tabelle = Seiten
}

lib.newslink = USER
lib.newslink {
    userFunc = CPSIT\CpsShortnr\Shortlink\Shortlink\Shortlink->Erzeuge
    record.data = GP:tx_news_pi1|news
    record.intval = 1
    tabelle = tx_news_domain_model_news
}

userFunc

Eigentum Datentyp Beschreibung
userFunc funktionsname CPSIT\CpsShortnr\Shortlink\Shortlink->Erstellen von
aufzeichnung stdWrap Die UID des Datensatzes, der kodiert werden soll.
tabelle text Die Tabelle des Datensatzes, der kodiert werden soll.

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.