Datenbank: slugify
Wir ein Slug-Field nachträglich angelegt, muss dieses initial befüllt werden, damit die sprechenden URLs generiert werden können.
Dazu haben sich folgende DB-Anweisungen als hilfreich erwiesen:
UPDATE `mytable` SET slug=title WHERE slug='';
UPDATE `mytable` SET slug=LOWER(slug);
UPDATE `mytable` SET slug=replace(slug, ' ', '-');
UPDATE `mytable` SET slug=replace(slug, '\n', '-');
UPDATE `mytable` SET slug=replace(slug, '\r', '-');
UPDATE `mytable` SET slug=replace(slug, '.', '');
UPDATE `mytable` SET slug=replace(slug, ',', '');
UPDATE `mytable` SET slug=replace(slug, '/', '');
UPDATE `mytable` SET slug=replace(slug, '&', '');
UPDATE `mytable` SET slug=replace(slug, 'ä', 'ae');
UPDATE `mytable` SET slug=replace(slug, 'ö', 'oe');
UPDATE `mytable` SET slug=replace(slug, 'ü', 'ue');
UPDATE `mytable` SET slug=replace(slug, 'ß', 'ss');
# evtl. mehrfach ausführen:
UPDATE `mytable` SET slug=replace(slug, '--', '-');
Dadurch ist allerdings noch nicht gewährleistet, dass die Slug-Einträge auch eindeutig sind.
Duplikate können folgendermaßen gefunden werden:
SELECT pid, uid, hidden, deleted, title, slug
FROM mytable
WHERE pid IN(sysfolder-id) and slug > '' and slug IN (
SELECT slug
FROM mytable
GROUP BY slug
HAVING COUNT(*) > 1
)
ORDER by slug DESC, uid DESC;