To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

F.A.Q. - Najczęściej Zadawane Pytania - Po dodaniu w?asnego BBCode

simon231 - 12-02-2010, 16:30
Temat postu: Po dodaniu własnego BBCode
Witam,

Wiele osób po dodaniu do swojego forum nowego (dowolnego) znacznika BBCode np. [youtube] ma problem z dodaniem do niego buttonów w widoku pisania nowego tematu/postu, dla tego postanowiłem przedstawić drobne FAQ jak poprawnie dodać buttonki, tak aby działały poprawnie.


Krok 1.

Instalujemy wybrany przez nas BBCode wg. instrukcji instalacji modyfikacji która dodaje same znaczniki BBCode (np. tej ).
(Edytowane pliki:
../includes/bbcode.php
../templates/{STYLE_NAME}/bbcode.tpl
../images/jssctipts.js)

W momencie wykonywania instrukcji dla pliku jssctipts.js koniecznie dodajemy nowe znaczniki ZA ostatnim znacznikiem położonym w linijce:
Kod:
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]'
,'[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]',
'[stream]','[/stream]','[fade]','[/fade]','[scroll]','[/scroll]','[swf width= height=]','[/swf]','[center]','[/center]','[hide]','[/hide]');


W tym przypadku jest to ,'[/ hide]'.
Nowy znacznik dodajemy PRZED nawiasem pamiętając o przecinkach i apostrofach
Kod:
(np. ... ,'[hide]','[/hide]','[youtube]','[/youtube]'); ).


KOLEJNOŚĆ DODAWANIA JEST WAŻNA !
Wyjaśnienie:
Znacznik otwierający zawsze będzie miał numer parzysty, zamykający zaś nieparzysty.
Uznaje się, że zero jest liczbą parzystą w tym przypadku, więc pierwszy znacznik w linijce będzie miał numer zero. Domknięcie znacznika będzie miało kolejny numer, czyli jeden.

Ponieważ znacznik hide jest 28, to jego domknięcie będzie 29.
(zapamiętajmy numery kolejno dodawanych znaczników)




Krok 2.


Otwieramy plik posting.php.
Znajdujemy:
Kod:
'L_BBCODE_H_HELP' => $lang['bbcode_h_help'],


I dodajemy POD:
Kod:
'L_BBCODE_A_HELP' => $lang['bbcode_a_help'],



Znajdujemy:
Kod:
'BUTTON_HI' => ($board_config['button_hi']) ? '<input type="button" class="button" accesskey="h" name="addbbcode28" value="Hide" style="width: 40px" onClick="bbstyle(28)" onMouseOver="helpline(\'h\')" />' : '',


I dodajemy POD:
Kod:
'BUTTON_A' => '<input type="button" class="button" accesskey="a" name="addbbcodeX" value="Nazwa_Buttona" style="border 0px solid; width: 60px" onClick="bbstyle(X)" onMouseOver="helpline(\'a\')" />',



W tym momencie "A" oznacza dowolną, pojedynczą literkę alfabetu (bez znaków specjalnych i znaczników językowych) za którą możemy podstawić własną literkę nie użytą wcześniej (kod wyżej w posting.php). Jeśli zmienimy ją w tym momencie, pamiętajmy, że będziemy musieli ją zmieniać w każdym kolejnym kroku.

W pole value="Nazwa_Buttona" zastępujemy Nazwa_Buttona własnym słowem (lub kilkoma) nazywającym nasz BBCode (np. YouTube).

W miejsce X (name="addbbcodeX" oraz onClick="bbstyle(X)") wstawiamy numer naszego znacznika rozpoczynającego BBCode (parzysty - ZAWSZE), ten sam, który mieliśmy wcześniej zapamiętać - jeśli wstawimy inny NIE BĘDZIE DZIAŁAĆ.



Krok 3.

Otwieramy plik language/lang_polish/lang_main.php
Znajdujemy:
Kod:
$lang['bbcode_f_help'] = 'Rozmiar czcionki: [size=x-small]mały tekst[/size] Rada: zaznacz tekst i wybierz rozmiar';


I dodajemy POD:
Kod:
$lang['bbcode_a_help'] = 'Opis BBCode: [znacznik]co w śrosku[/znacznik] Rada: zaznacz tekst i kliknij';


Pamiętajmy oczywiście o "A".



Krok 4.


Otwieramy plik templates/{STYLE_NAME}/posting_body.tpl
Znajdujemy:
Kod:
var ct_help = '{L_BBCODE_CT_HELP}';


I dodajemy za (można w linijce poniżej):
Kod:
var a_help = '{L_BBCODE_A_HELP}';


Znajdujemy:
Kod:
{BUTTON_HI}


I dodajemy ZA:
Kod:
 {BUTTON_A}


Pamiętajmy oczywiście o "A".




UWAGI

Jeśli po zabiegu pojawią się problemy np. z Kolorem w posting'u należy w pliku posting_body.tpl odnaleźć linijkę:

Kod:
<select class="post" name="addbbcode30" onChange="bbfontstyle('[color=' + this.form.addbbcode30.options[this.form.addbbcode30.selectedIndex].value + ']', '[/color]'); this.form.addbbcode30.value='444444';" onMouseOver="helpline('s')">

lub podobną i zmienić wszystkie addbbcode30 na liczbę niewystępującą np. addbbcode78


Podobnie postępujemy w przypadku problemów z Płomieniem, znajdujemy:

Kod:
<select name="addbbcode34" onChange="bbfontstyle('[shadow=' + this.form.addbbcode34.options[this.form.addbbcode34.selectedIndex].value + ']', '[/shadow]'); this.form.addbbcode34.value='444444';" onMouseOver="helpline('s2')">

lub podobnie i zmienić wszystkie addbbcode34 na liczbę niewystępującą np. addbbcode80


Gdy problem dotyczy okienka z Rozmiarem znajdujemy linijkę:

Kod:
<select name="addbbcode32" onChange="bbfontstyle('[size=' + this.form.addbbcode32.options[this.form.addbbcode32.selectedIndex].value + ']', '[/size]'); this.form.addbbcode32.value='12';" onMouseOver="helpline('f')">

lub podobną i zmienić wszystkie addbbcode32 na liczbę niewystępującą np. addbbcode82



Mam nadzieję, że ująłem to zrozumiale i w miarę przejrzyście.
Jeśli ktoś ma coś istotnego do dodania proszę się nie krępować.


Pozdrawiam,
simon231


PS. Prosiłbym moda o przeniesienie do F.A.Q., dziękuję.

MagicalFire - 12-02-2010, 16:48

przenosze do faq
Melvin - 16-04-2010, 16:07

A jak dodać taką gwiazdkę jak jest otwarty?
simon231 - 16-04-2010, 19:34

W pliku images/jsscripts.js powinieneś miec fragment:

Kod:
        txtarea.value += bbtags[bbnumber];
        if ((bbnumber == 14) && (imageTag == false)) imageTag = 1;
        arraypush(bbcode,bbnumber+1);
        eval('document.post.addbbcode'+bbnumber+'.value += "*"');
        txtarea.focus();
        return;


To właśnie on odpowiada za tę gwiazdkę przy buttonach, kiedy tagi są niedomknięte.

Melvin - 17-04-2010, 09:50

Ja to mam... I gwiazdki w tym tagu nie mam...

Prześlę w załączniku mój jssctipts.js.

simon231 - 17-04-2010, 20:25

Melvin, wykonałeś pełną instrukcję razem z uwagami dot. koloru, rozmiaru i płomienia ?
Melvin - 23-04-2010, 15:01

No nie...
Pawellll1995 - 12-07-2010, 18:38

Dzięki, nie działało lecz teraz śmiga
TeDY - 08-01-2011, 13:31

A ja mam taki problem że mi wszystkie tagi przestały działać ...
simon231 - 08-01-2011, 18:28

TeDY napisał/a:
A ja mam taki problem że mi wszystkie tagi przestały działać ...


Upewnij się, że wykonałeś wszystko poprawnie. (sprawdź też, czy wszystkie pliki zostały poprawnie umieszczone na serwerze)
Kolejno usuń cache i dobrze by było zadbać też o usunięcie cookies ;)

Powinno pomóc.

Woytec - 08-01-2011, 18:30

TeDY dostał już odpowiedź w swoim temacie ;)
DjPabllo - 25-01-2011, 08:48

No ja poprawilem i mam okw kodzie a mimo to jak klikne na zp to zamiast zippyshare wstawiaja mi sie znaczniki youtuba. Natomiast jesli recznie wstawie zp znaczniki to dziala. Gdzie moge miec bład ?? Dzieki za pomoc.
simon231 - 26-01-2011, 21:02

DjPabllo, pilnuj kolejności i numeracji. Na bank coś przestawiłeś.
DjPabllo - 27-01-2011, 09:17

No zalaczylem plik, wiec mozesz zobaczyc ze kolejnosc jest ok.
d3X - 27-01-2011, 09:20

DjPabllo, podmień.


Powered by phpBB modified by Przemo © 2003 phpBB Group