Redactor: Вариант или крючок для удаления "Ссылка на запись" из раскрывающегося списка

Созданный на 12 июн. 2019  ·  3Комментарии  ·  Источник: craftcms/redactor

Было бы неплохо, если бы мы могли убрать опцию «Ссылка на запись» из выпадающего меню. То же для «Ссылка на категорию».

Ω 2019-06-12 at 12 49 47 PM

Меня даже не волнует, как это реализовано (будь то опция поля, конфигурация Redactor или требуется обработчик модуля). Но было бы неплохо иметь немного больше контроля над тем, на что пользователи могут ссылаться.

Стоит отметить, что это не новый запрос ...

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

Самый полезный комментарий

Милая, это сработало как шарм!

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

        }

    }
);

Я использовал $event->sender->redactorConfig чтобы определить конкретную конфигурацию Redactor, на которую я хотел настроить таргетинг.

Если вы хотите удалить только _один конкретный источник_, вы можете выбрать его вручную. Для справки, вот как Craft настраивает эти дополнительные ссылки ...

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

Спасибо @ andris-sevcenko! 🍺

Все 3 Комментарий

Говоря о хуках модуля, вы уже можете использовать событие REGISTER_LINK_OPTIONS и просто удалить некоторые параметры из массива $event->linkOptions . (https://github.com/craftcms/redactor/blob/v2/src/Field.php#L563)

Милая, это сработало как шарм!

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

        }

    }
);

Я использовал $event->sender->redactorConfig чтобы определить конкретную конфигурацию Redactor, на которую я хотел настроить таргетинг.

Если вы хотите удалить только _один конкретный источник_, вы можете выбрать его вручную. Для справки, вот как Craft настраивает эти дополнительные ссылки ...

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

Спасибо @ andris-sevcenko! 🍺

Привет,

Знаете ли вы, как отфильтровать записи раздела по категории пользователя, помеченной тегами, в разделе «Ссылка на запись»? Я хочу видеть только все записи, относящиеся к этой категории.

Большое тебе спасибо.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги