2012-11-03 20 views
7

Używam CKEditor z BBCode plugin i potrzebuję dodać niestandardowe znaczniki, takie jak znacznik spoiler, i inne, które zapewniłyby możliwość połączenia z profilem użytkownika witryny.
spoiler znaczniki będą działały jak znaczniki : kliknięcie przycisku i pobranie kodu. Skopiowałem blockquote/plugin.js i zmieniłem wszystkie ciągi znaków na spoiler i quote na spoil. Następnie dodałem extraPlugins: 'spoiler' do konfiguracji i przycisk na pasku narzędzi. Wygląda to poprawnie, ale generuje nieprawidłowy kod.
Na przykład, jeśli kliknę przycisk blockquote po zaznaczeniu tekstu, następujący kod zostanie wygenerowany:Niestandardowe znaczniki w wtyczce BBCode CKEditor

[quote]some text[/quote] 

ale gdy klikam mój nowy przycisk, pojawia się następujący kod:

<p> 
    <spoiler> 
    <p> 
     !!!</p> 
    </spoiler></p> 

Więc to nie działa.

Chciałbym również utworzyć przycisk do połączenia z użytkownikiem. Powinno to działać w następujący sposób: po kliknięciu przycisku pojawi się okno dialogowe z polem wyszukiwania (AJAX nie stanowi problemu), a wynikiem będzie lista użytkowników; gdy użytkownik zostanie wybrany, a przycisk OK zostanie kliknięty, byłoby wygenerować kod tak:

[user=1]Admin[/user] 

1 - identyfikator użytkownika, admin - jego imię.

+0

Którą wersję CKEditor używasz? –

+0

Najprawdopodobniej chcesz edytować plik ['plugins/bbcode/plugin.js'] (https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/bbcode/plugin.js). Istnieją dwie zmienne: bbcodeMap i convertMap. Ta wtyczka zmienia kod HTML na BBCode, więc będziesz chciał dodać nową definicję tagu 'spoiler'. – timgws

Odpowiedz

-3

Miałem wiele problemów z CKEditorem. Używam WYSIWYG Froala. Prawdopodobnie rozwiązuje twoje problemy.

+0

Nie zapewnia to odpowiedzi na pytanie. Aby skrytykować lub poprosić o wyjaśnienie od autora, zostaw komentarz pod swoim postem - zawsze możesz komentować swoje posty, a gdy już masz wystarczającą [reputację] (http://stackoverflow.com/help/whats-reputation), być w stanie [komentować dowolny wpis] (http://stackoverflow.com/help/privileges/comment). – ekad

Powiązane problemy