Redactor: ドロップダウンから「エントリへのリンク」を削除するオプションまたはフック

作成日 2019年06月12日  ·  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構成を識別しました。

_ 1つの特定のソース_のみを削除する場合は、手動で選択できます。 参考までに、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構成を識別しました。

_ 1つの特定のソース_のみを削除する場合は、手動で選択できます。 参考までに、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 評価