Jump to main content Jump to doc navigation

Qué es la transliteración

Cuando MODX construye el alias de un Resource a partir del pagetitle (o cuando escribes el alias), puede mapear caracteres no ASCII a formas aptas para URL. Eso es transliteración: Кафе puede pasar a kafe, Straße a Strasse, según el método elegido.

Sin transliteración, las restricciones de caracteres pueden eliminar letras y dejar alias rotos o vacíos. Con Friendly URLs activos, los alias limpios mantienen URLs legibles.

MODX aplica la transliteración en modResource::filterPathSegment() al generar o filtrar segmentos de ruta. El mismo flujo alimenta el campo alias en el manager en tiempo real y el filtro de salida filterPathSegment.

Ajustes implicados

Abre Configuración del Sistema, área URL amigable (busca friendly_alias):

Ajuste Función
friendly_alias_translit Método: none, iconv, iconv_ascii o una tabla con nombre de un extra
friendly_alias_translit_class Clase de servicio para tablas con nombre (por defecto translit.modTransliterate)
friendly_alias_translit_class_path Ruta desde la que cargar esa clase (por defecto {core_path}components/)
automatic_alias Generar el alias desde el pagetitle al guardar si el alias está vacío

Los filtros relacionados (delimitadores, minúsculas, longitud, restricción de caracteres) se aplican después de la transliteración. Revisa el resto de friendly_alias_* en la misma área.

En una instalación estándar, friendly_alias_translit vale none. En el código, si el ajuste no está definido y existe iconv, el respaldo es iconv. Define el valor a propósito para que el comportamiento quede claro.

Integrado: none

Deja friendly_alias_translit vacío o pon none. No hay mapeo de caracteres. Úsalo si los títulos ya son ASCII o escribes los alias a mano.

Integrado: iconv

Pon friendly_alias_translit en iconv. Requiere la extensión PHP iconv.

MODX convierte la cadena con //TRANSLIT//IGNORE al charset del sitio (modx_charset, normalmente UTF-8). La calidad depende de tu build de PHP/iconv y de la locale. Es una opción rápida sin extras, no una tabla por idioma.

iconv_ascii

Con iconv_ascii la conversión apunta a ASCII (ASCII//TRANSLIT//IGNORE). Úsalo si quieres segmentos solo latinos y iconv todavía deja caracteres no ASCII.

Tablas con nombre: el extra Translit

Para tablas lingüísticas predecibles (ruso y otras), instala el paquete Translit desde Package Management. Incluye translit.modTransliterate, que ya es el nombre de clase por defecto en el core.

Configuración habitual tras instalar:

  1. Instala translit.
  2. friendly_alias_translit_class = translit.modTransliterate (suele estar así).
  3. friendly_alias_translit_class_path = {core_path}components/ (por defecto).
  4. friendly_alias_translit = nombre de tabla, por ejemplo russian (no iconv).
  5. Activa automatic_alias si quieres alias desde el pagetitle.
  6. Vacía la caché del sitio.

El valor de friendly_alias_translit es el nombre de la tabla que carga el servicio (nombre de archivo sin .php). Otras tablas o una copia propia (por ejemplo custom) funcionan igual.

Otros extras (Translitor, yTranslit, etc.) pueden registrar su propia clase. Sigue su documentación y apunta friendly_alias_translit_class / path a su servicio si hace falta.

Comprobar que funciona

  1. Activa friendly_urls y configura el rewrite (guía de Friendly URLs).
  2. Crea un Resource cuyo pagetitle tenga caracteres no latinos.
  3. Guarda (con automatic_alias o acepta el alias sugerido).
  4. Confirma el campo alias y la URL pública.

Los Resources ya guardados mantienen su alias hasta que lo regeneres. Cambiar el ajuste no reescribe el árbol solo.

Subida de archivos

En MODX 3.x, upload_translit puede transliterar nombres de archivos subidos con las mismas reglas globales. Es independiente de los alias FURL, pero útil en los mismos sitios multilingües.

Ver también

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$204 per month—let's make that $500!

Learn more