Redactor: Opção ou gancho para remover "Link para a entrada" do menu suspenso

Criado em 12 jun. 2019  ·  3Comentários  ·  Fonte: craftcms/redactor

Seria bom se pudéssemos remover a opção "Link para a entrada" do menu suspenso. Idem para "Link para a categoria".

Ω 2019-06-12 at 12 49 47 PM

Eu nem me importo com _como_ ele está implementado (se é uma opção de campo, configuração do Redactor ou requer um gancho de módulo). Mas seria bom ter um pouco mais de controle sobre os links para os quais os usuários podem se conectar.

Vale a pena notar que este não é um novo pedido ...

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

Comentários muito úteis

Legal, funcionou como um encanto!

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 = [];

        }

    }
);

Usei $event->sender->redactorConfig para identificar a configuração específica do Redactor que eu queria segmentar.

Se você deseja remover apenas _uma fonte específica_, pode selecioná-la manualmente. Para referência, veja como Craft configura esses links extras ...

[
    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'
        ]
    ]
]

Obrigado @ andris-sevcenko! 🍺

Todos 3 comentários

Falando em ganchos de módulo, você já pode usar o evento REGISTER_LINK_OPTIONS e apenas remover algumas das opções do array $event->linkOptions . (https://github.com/craftcms/redactor/blob/v2/src/Field.php#L563)

Legal, funcionou como um encanto!

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 = [];

        }

    }
);

Usei $event->sender->redactorConfig para identificar a configuração específica do Redactor que eu queria segmentar.

Se você deseja remover apenas _uma fonte específica_, pode selecioná-la manualmente. Para referência, veja como Craft configura esses links extras ...

[
    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'
        ]
    ]
]

Obrigado @ andris-sevcenko! 🍺

Olá,

No Link para uma entrada, você saberia como filtrar as entradas da seção com base na categoria marcada do usuário? Eu só quero ver todas as entradas marcadas para essa categoria.

Muito obrigado.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

davist11 picture davist11  ·  13Comentários

lindseydiloreto picture lindseydiloreto  ·  4Comentários

jsunsawyer picture jsunsawyer  ·  15Comentários

cstudios-slovakia picture cstudios-slovakia  ·  6Comentários

stenvdb picture stenvdb  ·  16Comentários