Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: Seiten-Alias länger als 128 Zeichen?

  1. #1
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard Seiten-Alias länger als 128 Zeichen?

    Hallo,

    ich möchte Contao als Handbuch für eine Software nutzen und dieses Handbuch ist recht umfangreich durchstrukturiert. Contao bietet ja die nette Möglichkeit, das Alias wie eine Ordnerstruktur aufzubauen.

    Die Einträge werden aber recht lang und das Alias selber ist auf 128 Zeichen beschränkt. Das verhindert natürlich das Erzeugen des Alias und das Speichern der Seite. Auf die Pseudo-Ordnerstruktur möchte ich aber nicht verzichten.

    Gibt es eine Möglichkeit, das Limit zu erhöhen?

  2. #2
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard

    Habe mir vorerst damit beholfen, das Limit in der Datenbank auf varchar(333) zu setzen (das sind 1.000 Byte, mehr lässt varchar nicht zu).

    Aber das kann’s irgendwie auch nicht sein …

  3. #3
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard

    Hmm, weitere Aliase melden sich zu Wort, jetzt tl_article …

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Eintragen in system/config/dcaconfig.php:
    PHP-Code:
    unset $GLOBALS['TL_DCA']['tl_page']['fields']['alias']['eval']['maxlength'];
    $GLOBALS['TL_DCA']['tl_page']['fields']['alias']['eval']['sql'] = 'text NULL';
    unset 
    $GLOBALS['TL_DCA']['tl_article']['fields']['alias']['eval']['maxlength'];
    $GLOBALS['TL_DCA']['tl_article']['fields']['alias']['eval']['sql'] = 'text NULL'
    Ungetestet. "text" reicht für 65.535 Zeichen.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  5. #5
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard

    Funktioniert leider nicht:

    Code:
    Fatal error: Uncaught exception Exception with message Query error: BLOB/TEXT column 'alias' used in key specification without a key length (ALTER TABLE `tl_page` CHANGE `alias` `alias` text NULL;) thrown in system/modules/core/library/Contao/Database/Statement.php on line 295
    Aber egal, es scheint insgesamt nicht zu funktionieren. Bleibe erst einmal bei varchar(333) …
    Geändert von datenkind (22.05.2018 um 13:49 Uhr)

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Über Sinn oder Unsinn kann man hier sowieso streiten. In meine URL-Zeile passen selbst bei maximiertem Browser keine URLs mit einem Alias von mehr als 128 Zeichen. Somit führt also deine Seite dann dazu, dass ich mir bei Bedarf mühselig den gesamten Alias irgendwie anzeigen lassen muss. Da ich so gut wie nie mit maximiertem Browser unterwegs bin, passiert das auch auf von mir erstellten Webseiten bereits bei wesentlich kürzerem Alias (ca 80 Zeichen). Schliesslich wird ja davor auch noch die Domain und eventuell das Protokoll angezeigt.

    Edit: Der Alias von deinem Forenbeitrag hier passt da schon nicht mehr ganz rein Die Maximallänge beim Typ Text sind irgendwelche paarundzwanzigtausend Zeichen bei UTF-8, aber das dürfte nun für einen Alias auch ausreichend sein.
    Edit2: Versuch doch mal bei text eine dir passende Maximallänge vorzugeben.
    Geändert von tab (22.05.2018 um 15:09 Uhr)

  7. #7
    Contao-Nutzer
    Registriert seit
    25.06.2009.
    Beiträge
    119

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Über Sinn oder Unsinn kann man hier sowieso streiten. In meine URL-Zeile passen selbst bei maximiertem Browser keine URLs mit einem Alias von mehr als 128 Zeichen. Somit führt also deine Seite dann dazu, dass ich mir bei Bedarf mühselig den gesamten Alias irgendwie anzeigen lassen muss. Da ich so gut wie nie mit maximiertem Browser unterwegs bin, passiert das auch auf von mir erstellten Webseiten bereits bei wesentlich kürzerem Alias (ca 80 Zeichen). Schliesslich wird ja davor auch noch die Domain und eventuell das Protokoll angezeigt.

    Edit: Der Alias von deinem Forenbeitrag hier passt da schon nicht mehr ganz rein Die Maximallänge beim Typ Text sind irgendwelche paarundzwanzigtausend Zeichen bei UTF-8, aber das dürfte nun für einen Alias auch ausreichend sein.
    Edit2: Versuch doch mal bei text eine dir passende Maximallänge vorzugeben.
    Es geht bei diesem Projekt um eine klare Zuordnung von Seiten und ihrer Hierarchie. Eine mehrschichtige Struktur ist nötig und eben so vorgegeben. Dabei spielt es keine Rolle, wieviel eine Adressleiste anzeigen kann, da bis 2.000 technisch keine Probleme auftreten. Es wäre schön, eine Diskussion über die Sinnhaftigkeit nicht zu führen.

    Das Umstellen auf text funktioniert nicht, da Contao offenbar hart darauf gecodet ist. Ich hatte es versucht, es kam aber ständig zu Fehlern.

  8. #8
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Du musst vorher Alias vom SQL index befreien.

    dcaconfig

    PHP-Code:
    unset($GLOBALS['TL_DCA']['tl_page']['fields']['alias']['eval']['maxlength']); 
    unset(
    $GLOBALS['TL_DCA']['tl_page']['config']['sql']['keys']['alias']);
    $GLOBALS['TL_DCA']['tl_page']['fields']['alias']['sql'] = 'text NULL'
    Im DB Update vor dem ALTER CHANGE des Alias Feldes dessen index in der Tabelle entfernen lassen. (2x quasi das DB-Update ausführen)
    Indexierte Felder erwarten in mysql eine strikte Länge. text hat diese nicht.
    Geändert von Tim G (15.08.2018 um 14:01 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •