Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Content]: Revise "Extending Twig" > "Registering the Extension"

Abierto Apto para principiantes
#790 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
68/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
php

Línea de trabajo

Comienza con la sección “Registering the Extension” enlazada en el issue y revisa el código fuente de la documentación correspondiente. Revisa el contexto relacionado con CKEditor descrito en los issues enlazados y, después, actualiza la guía para que explique con precisión cuándo es apropiado comprobar getIsSiteRequest(); la sección debe reflejar claramente el comportamiento de registro compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Product

Craft CMS

Description

The docs mention this code in order to register Twig extensions:

if (Craft::$app->getRequest()->getIsSiteRequest()) {
    // Instantiate + register the extension:
    $extension = new mynamespace\myplugin\twig\Extension();
    Craft::$app->getView()->registerTwigExtension($extension);
}

And then states:

The getIsSiteRequest() check is optional. If your extension provides features that will be useful in system emails (commonly triggered from the control panel), or will be used when rendering templates from console requests (less common, but still valid), you may want to register it in all contexts.

However, since Craft 4.2.0 custom Twig functions are also used in CKEditor if it renders deeply nested partial templates that include CKEditor themselves. This results in issues like https://github.com/craftcms/ckeditor/issues/248 and https://github.com/craftcms/cms/issues/19639 (and I've also been asking for more context on this matter in https://github.com/craftcms/ckeditor/discussions/627). That's why I'd consider the getIsSiteRequest() check as actually harmful in Twig extension modules because now there are quite a few cases where Twig extensions are required in the CP as well.

Either this should get mentioned in the docs or the check should get removed completely (assuming the behavior of CKEditor doesn't change).

Lenguaje dominante
JavaScript
Estrellas
43
Forks
160
Merge medio
3 h 9 min
PR fusionados (30 d)
4

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de craftcms/docs

Todos los issues de craftcms/docs

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.