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 ꡬ성을 μ‹λ³„ν–ˆμŠ΅λ‹ˆλ‹€.

_ν•˜λ‚˜μ˜ νŠΉμ • μ†ŒμŠ€_만 μ œκ±°ν•˜λ €λŠ” 경우 μˆ˜λ™μœΌλ‘œ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. 참고둜 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 λ“±κΈ‰