PDA

Zobacz pełną wersję : edytor - problem z formatowaniem



swiety
03-04-2010, 18:41
Witam!
Liczę na Waszą pomoc, bo nie mogę dojść samemu z pewną rzeczą w edytorze.
To samo dzieje się zarówno w TinyMCE jak i jego rozszerzonej nakładce JCE.
Mianowicie, chodzi o funkcję "zwiększ wcięcie", czyli typową tabulację na początku wiersza. Niestety, ale pomijając już nawet to, że sam przycisk TAB nie daje żadnego efektu (co mnie dziwi) to klikając na przycisk "zwiększ wcięcie" przesuwa się cały akapit tekstu (a przecież powinien zrobić się tylko odstęp przez pierwszym znakiem w akapicie).
Patrząc do kodu HTML po kliknięciu wcięcia do akapitu zostaje dodany padding (no i nie dziwne, że przesuwa się wszystko co jest oblane akapitem):

<p style="padding-left: 30px;">treść akapitu</p>a przecież wcięcie powinno z automatu dawać taki efekt:

<p style="text-indent: 1.25cm;"">treść akapitu</p>niestety tak się nie dzieje i jest dodawany ten nieszczęsny padding, który przesuwa cały akapit, a nie tylko pierwszą linię.
W plugins\editors\tinymce\jscripts\tiny_mce\tiny_mce _src.js znalazłem tą wartość 30px, ale nigdzie nie widać tam tego stylu padding-left...
Może być to zależne od stylu?
Niestety instalowałem sobie czystą joomlę 1.5.15 na localu i było tak samo.

Mam nadzieję, że ktoś będzie miał jakiś pomysł.
Pozdrawiam.

zwiastun
03-04-2010, 18:58
Ani tabulator nie służy do uzyskiwania tutaj jakiegoś efektu, ani przyciski zmniejsz/zwiększ wcięcie nie służą do uzyskiwania wcięcia akapitowego. Służą do przesunięcia lewej krawędzi całego akapitu w lewo bądź w prawo.
Wcięcie akapitowe można uzyskać ustawieniem stylu (text-indent) osadzonego, wpisanego lub w arkuszu zewnętrznym.

swiety
03-04-2010, 21:43
OK. Dzięki za wyprowadzenie mnie z błędu, bo od początku sądziłem, że "zwiększ wcięcie" powoduje właśnie dodanie efektu tabulacji do akapitu, a nie przesunięcie całości w prawą stronę.
Teraz pytanko odnośnie własnych stylów.
Wybrałem w JCE, żeby nie ładował domyślnego arkusza szablonu (bo tak naprawdę jest ładowane dziesiątki niepotrzebnych rzeczy) i wskazałem na własny plik css.
Teraz owszem listuje mi tylko to co tam wpiszę, czyli daję np.:

p .odstep {text-indent:50px;}i ładnie pojawia mi się ta klasa "odstęp" w rozwijanym menu "Style" w edytorze.
Jednak czy własne style (które można wybrać z rozwijanej listy nie dopisywać ręcznie w kodzie) można uzyskać tylko przez stworzenie nowej klasy, id, czy jest jakaś możliwość, żeby edytor dodawał do akapitu styl wpisany:

style="text-indent: 1.25cm;"?

zwiastun
03-04-2010, 22:03
Coś mi się zdaje, że jeszcze nie wiesz za dużo, a już chcesz bardzo dużo.
1. Oczywiście, można zdecydować, żeby JCE (czy TinyMCE) nie ładował domyślnego arkusza. Po to ta opcja jest. Trzeba jednak najpierw tak zbudować arkusze stylów swego szablonu, żeby to miało sens. Na przykład wyodrębnić typografię do odrębnego pliku.
2. Style wpisane i owszem, trzeba czasem zastosować, ale czasem to znaczy czasem, wyjątkowo. Podany przykład wcięcia akapitowego to niemal klasyczny przykład czegoś, co trzeba deklarować w arkuszu stylów, a nie jednostkowo poprzez style wpisane.
3. Na pytanie " czy własne style można uzyskać tylko..." - sam sobie odpowiedz. Ono również dowodzi, że choć już wiesz, że dzwonią, to jeszcze nie do końca, na jaką melodię i z jakiej okazji.

swiety
03-04-2010, 23:19
Hmmm... Twój post naprawdę może zamieszać temu co rzeczywiście kompletnie nie wie "gdzie dzwonią". Może i dopiero poznaję całą strukturę, kod i funkcje php systemu jakim jest Joomla, ale zdawało mi się, że pytałem dość konkretnie...
Dla mnie osobiście to mogłoby się w ogóle obejść bez tych edytorów WYSIWYG itd, ale nie dla osób, które docelowo będą zaangażowane w cały projekt jako np. autorzy artykułów, a będą to osoby posiadające zerową wiedzę na temat HTML i CSS, dlatego sprawę chcę ułatwić do maksimum.

Tak się składa, że styl, z którego korzystam jest dość mocno rozbudowany, ma kilka różnych wariacji stylów (dla każdego oddzielny arkusz), dodatkowo ogólny template.css i jeszcze oddzielny arkusz zawierający całą typografię właśnie. Raczej bezsensem będzie zamieszczenie raptem kilku regułek tego typu i tworzenie specjalnie dla nich dodatkowego arkusza zewnętrznego css, dlatego myślę, że akurat w tej kwestii najlepszym rozwiązaniem będzie dodanie ich do pliku zawierającego typografię szablonu.

Na szczęście znalazłem coś dodającego funkcję BBCodu do Joomli. Komponent nazywa się RokCandy i dzięki niemu można tworzyć nawet skomplikowane makra, także sprawa poważniejszych rzeczy typu zagnieżdżonych divów praktycznie sama się rozwiązała.