Redactor: Option ou crochet pour supprimer "Lien vers l'entrée" de la liste déroulante

Créé le 12 juin 2019  ·  3Commentaires  ·  Source: craftcms/redactor

Ce serait bien si nous pouvions supprimer l'option "Lien vers l'entrée" du menu déroulant. Idem pour "Lien vers la catégorie".

Ω 2019-06-12 at 12 49 47 PM

Je ne me soucie même pas de _comment_ c'est implémenté (que ce soit une option de champ, une configuration Redactor, ou nécessite un crochet de module). Mais ce serait bien d'avoir un peu plus de contrôle sur les liens vers lesquels les utilisateurs peuvent se connecter.

A noter qu'il ne s'agit pas d'une nouvelle demande...

https://craftcms.stackexchange.com/questions/17567/how-to-remove-link-to-category-from-redactor

Commentaire le plus utile

Doux, cela a fonctionné comme un charme!

use craft\redactor\events\RegisterLinkOptionsEvent;
use craft\redactor\Field as RedactorField;
use yii\base\Event;

// Remove "Link to..." Redactor links
Event::on(
    RedactorField::class,
    RedactorField::EVENT_REGISTER_LINK_OPTIONS,
    function(RegisterLinkOptionsEvent $event) {

        // Only apply to a specific Redactor config
        if ('Message.json' == $event->sender->redactorConfig) {

            // Remove Craft's injected links
            $event->linkOptions = [];

        }

    }
);

J'ai utilisé $event->sender->redactorConfig pour identifier la configuration spécifique de Redactor que je voulais cibler.

Si vous souhaitez uniquement supprimer _une source spécifique_, vous pouvez la sélectionner manuellement. Pour référence, voici comment Craft configure ces liens supplémentaires...

[
    0 => [
        'optionTitle' => 'Link to an entry'
        'elementType' => 'craft\\elements\\Entry'
        'refHandle' => 'entry'
        'sources' => [
            0 => 'section:19870dc1-a51e-4134-bd5c-de55b11ddf2c'
            1 => 'section:eca834a6-d8a1-4797-a552-e310f946eafb'
            2 => 'section:128d6e4e-d02f-4247-83eb-a3841ca7ade5'
            3 => 'section:c422ed50-9844-4531-854f-f8c505d92a05'
        ]
    ]
    1 => [
        'optionTitle' => 'Link to a category'
        'elementType' => 'craft\\elements\\Category'
        'refHandle' => 'category'
        'sources' => [
            0 => 'group:95e58ebd-aba6-48b8-adaf-ebae28ffbb7a'
            1 => 'group:9bd9e19d-e53a-46eb-af47-2ce9a12a0ade'
        ]
    ]
]

Merci @andris-sevcenko ! ??

Tous les 3 commentaires

En parlant de crochets de module, vous pouvez déjà utiliser l'événement REGISTER_LINK_OPTIONS et simplement supprimer certaines des options du tableau $event->linkOptions . (https://github.com/craftcms/redactor/blob/v2/src/Field.php#L563)

Doux, cela a fonctionné comme un charme!

use craft\redactor\events\RegisterLinkOptionsEvent;
use craft\redactor\Field as RedactorField;
use yii\base\Event;

// Remove "Link to..." Redactor links
Event::on(
    RedactorField::class,
    RedactorField::EVENT_REGISTER_LINK_OPTIONS,
    function(RegisterLinkOptionsEvent $event) {

        // Only apply to a specific Redactor config
        if ('Message.json' == $event->sender->redactorConfig) {

            // Remove Craft's injected links
            $event->linkOptions = [];

        }

    }
);

J'ai utilisé $event->sender->redactorConfig pour identifier la configuration spécifique de Redactor que je voulais cibler.

Si vous souhaitez uniquement supprimer _une source spécifique_, vous pouvez la sélectionner manuellement. Pour référence, voici comment Craft configure ces liens supplémentaires...

[
    0 => [
        'optionTitle' => 'Link to an entry'
        'elementType' => 'craft\\elements\\Entry'
        'refHandle' => 'entry'
        'sources' => [
            0 => 'section:19870dc1-a51e-4134-bd5c-de55b11ddf2c'
            1 => 'section:eca834a6-d8a1-4797-a552-e310f946eafb'
            2 => 'section:128d6e4e-d02f-4247-83eb-a3841ca7ade5'
            3 => 'section:c422ed50-9844-4531-854f-f8c505d92a05'
        ]
    ]
    1 => [
        'optionTitle' => 'Link to a category'
        'elementType' => 'craft\\elements\\Category'
        'refHandle' => 'category'
        'sources' => [
            0 => 'group:95e58ebd-aba6-48b8-adaf-ebae28ffbb7a'
            1 => 'group:9bd9e19d-e53a-46eb-af47-2ce9a12a0ade'
        ]
    ]
]

Merci @andris-sevcenko ! ??

Bonjour,

Dans le lien vers une entrée, sauriez-vous comment filtrer les entrées de section en fonction de la catégorie taguée de l'utilisateur ? Je veux seulement voir toutes les entrées qui sont étiquetées dans cette catégorie.

Merci beaucoup.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

lindseydiloreto picture lindseydiloreto  ·  10Commentaires

diluno picture diluno  ·  3Commentaires

davist11 picture davist11  ·  13Commentaires

lukeyouell picture lukeyouell  ·  26Commentaires

timoteh picture timoteh  ·  17Commentaires