Jump to content

Preguntas frecuentes sobre las Extensiones

From mediawiki.org
This page is a translated version of the page Extensions FAQ and the translation is 100% complete.
Extensiones de MediaWiki

¿Dónde puedo encontrar una lista de extensiones instaladas?

La página Special:Version de cada wiki contiene una lista de extensiones que se han registrado con el software MediaWiki . Todas las extensiones se pueden instalar sin que aparezcan en Special:Version, si el desarrollador no incluye el código correcto para incluirlo allí.

¿Cómo activo una extensión?

See Manual:Extensions/Installation and upgrade


¿Cómo puedo crear mi propia extensión?

Véase Manual:Desarrollo de extensiones .

¿Cómo puedo desactivar el almacenamiento en caché de las páginas que utilizan mi extensión?

Si estás escribiendo, por ejemplo, una página especial:

global $wgOut;
$wgOut->enableClientCache(false);

Para los ganchos de etiquetas del parser:

function wfSomeHookFunction( $parser, $foo, $bar ) {
    $parser->getOutput()->updateCacheExpiry(0);
    ...
}

En caso de que la salida de su extensión solo dependa de alguna opción o contexto de usuario y no del tiempo, aún puede dejar que el caché del analizador la almacene en caché, pero asegúrese de que esté marcada como una variante de salida (de muchas posibles). Utilice el gancho PageRenderingHash para influir en el hash de caché en consecuencia.

En versiones anteriores de MediaWiki, se usaba $parser->disableCache() para deshabilitar el almacenamiento en caché, pero esto quedó obsoleto en MW 1.28 y se eliminó por completo en MW 1.35.

¿Cómo puedo reproducir wikitexto en mi extensión?

Páginas especiales

Cuando se hace renderización de salida que no estará sujeta a parser caché, por ejemplo, en una página especial

global $wgOut;
$wgOut->parse( $text );

donde $text es el texto wiki para ser analizado.

Analizador sintáctico (Parser hooks)

Consulte Manual:Extensiones de etiquetas#¿Cómo puedo reproducir wikitexto en mi extensión?

¿Cómo activo la búsqueda en la salida de mi extensión (contenido dinámico)?

No puedes. El contenido dinámico no puede incluirse en un índice estático.

¿Cómo puedo evitar la modificación de la salida HTML de mi extensión?

Consulte Manual:Extensiones de etiquetas#¿Cómo puedo evitar la modificación de la salida HTML de mi extensión?

¿Cómo puedo pasar parámetros de tipo XML en mi etiqueta de extensión?

Consulte Manual:Extensiones de etiquetas#¿Cómo puedo pasar parámetros de estilo XML en mi etiqueta de extensión?

Extensiones y Plantillas

Consulte Manual:Extensiones de etiquetas#Extensiones y plantillas

"NaodW..." o "UNIQ..."

Su extensión (o otra instalada) puede estar utilizando la función parse() en lugar de recursiveTagParse(). Entonces cambie a recursiveTagParse.


¿Cómo puedo detectar en mi extensión, si un artículo está protegido o no?

Utilice la clase Title y el método isProtected( ), por ejemplo

function extensionFunction() {
   # Suponga que $title es el objeto del título
   if( $title->isProtected( 'edit' ) ) {
      # Protegido de la edición, do things
   } else {
      # No está protegido de la edición
   }
}

¿Qué permisos tengo que aplicar a la carpeta de extensiones?

Todos los scripts en la estructura /wiki deben ser legibles y ejecutables por el usuario que PHP se ejecuta como. Normalmente todos los permisos usan 755 y el propietario/grupo es un usuario "diferente". El archivo LocalSettings.php es creado por el script en configuración y por lo tanto será un ejemplo para establecer el resto.

¿Cómo puedo hacer que se muestre mi extensión en Especial:Versión?

Consulte Manual: Desarrollo de extensiones#Registro de funciones con MediaWiki