PDA

Zobacz pełną wersję : Własny wygląd komponentu kontakt (com_contact)



scarface
07-05-2011, 20:07
Witacie. Jako, że to mój pierwszy post chciałem Was gorąco powitać i z góry podziękować za wiedzę, którą się dzielicie. Dzisiaj ja postanowiłem skorzystać z pomocy forum. Sprawa dotyczy dostrojenia wyglądu formularza kontaktowego w Joomla 1.6.3.

W J!1.5 nie miałem z tym większych problemów, w J!1.6 mam. Dodam jeszcze, że naturalnie mogę zainstalować inny komponent do obsługi formularzy natomiast robię to dla własnej ciekawości i wiedzy - czasami lubię podłubać trochę.

Co więc udało mi się już zrobić?

1) Podobnie jak to było w J!1.5, do folderu /templates/mój_szablon/html/ wrzuciłem folder com_contact zawierający w sumie pusty plik index.html oraz podfolder contact. Podfolder ten zawiera zaś w sobie kopię plików widoku komponentu kontakt czyli wszystkie pliki z folderu /components/com_contact/views/contact/tmpl/. Edytowanie tych plików pozwala już na pewne zmiany w sposób nienaruszający struktury oryginalnych plików Joomla.

2) Za pomocą Firebug'a zauważyłem, że każdy inputbox i etykieta zawarte na formularzu mają swój własny identyfikator CSS. Dodałem więc te identyfikatory do pliku template.css mojego szablonu. W ten sposób zdobyłem możliwość panowania w jeszcze większym stopniu nad wyglądem formularza.

3) Ostatnim elementem układanki jest wg mnie możliwość definiowania np wielkości pól formularza. Domyślnie pola "nazwa" i "email" mają po 30 znaków, pole "temat" zaś 60. Co więc zrobić, żeby wszystkie pola miały np po 70 znaków? Między innymi tą wartość definiują zapisy w pliku XML /components/com_contact/models/forms/contact.xml co jest różnicą w stosunku do J!1.5, gdzie te wartości zawarte były w plikach php widoku.

Moje pytanie jest następujące: w jaki sposób/gdzie skopiować ten plik (contact.xml) do mojego szablonu, abym mógł go edytować w sposób nienaruszający oryginalnym plików Joomla. Z góry dzięki za wskazówki. Pozdrawiam.

moje
07-05-2011, 20:17
W Joomla 1.6 nadpisywanie szablonem wygląda inaczej, informacji szukaj na docs.joomla.org i wiki.joomla.pl ; )

Jak chodzi o własny formularz pod względem danych, to trzeba napisać własny komponent - no chyba, że jeszcze czegoś nie doczytałem.

zwiastun
07-05-2011, 22:17
Na naszej wiki jeszcze nic o nadpisywaniu szablonami w 1.6 nie ma :) Ale, gdy skutecznie doświadczysz rozwiązania swojego problemu i podzielisz się wiedzą, to będzie :)

tomaszek83
07-05-2011, 22:33
Poszukaj na tym forum. Na pewno było poruszane nadpisywanie szablonem w J.1.6.

scarface
07-05-2011, 22:42
Z pewnością podzielę się swoimi doświadczeniami choć na tą chwilę temat wydaje mi się niewąski :P. Pierwsze wrażenie jest takie, że w stosunku do J!1.5 temat jest o wiele trudniejszy. Wynika to zapewne z chwilowej ślepoty... W przypadku J!1.5 mówiliśmy tylko o "nadpisywaniu szablonem" a w J!1.6 wydaje mi się, że oprócz "nadpisywania szablonem" dodatkowo mamy coś takiego jak "alternatywny układ".
Na tą chwilę studiuję wiedzę ze strony http://docs.joomla.org/Layout_Overrides_in_Joomla_1.6 oraz temat http://forum.joomla.pl/showthread.php?48369-Nadpisywanie-szablonem-w-joomla-1.6

Chodzi mi po głowie jedna kwesta. Obie w/w stronki zachęcają do stworzenia osobnego pliku z wyglądem komponentu. Natomiast w oryginalnym folderze widoku jest kilka plików definiujących ogólny wygląd komponentu. O co więc kaman? Który plik należy skopiować? Muszę to z czymś zjeść...

moje
07-05-2011, 22:59
Plik php widoku.

scarface
09-05-2011, 11:28
No więc stoję w sumie w miejscu.... W przypadku modyfikacji plików zawartych w folderze /components/com_contact/views/contact/tmpl/ sprawa jest identyczna jak w J!1.5 a wiec mówimy tu o nadpisywaniem szablonem. I to rozwiązanie w przypadku najnowszej Joomli pracuje prawidłowo. Problemem jest nadpisanie pliku /com_contact/models/forms/contact.xml, który zawiera w tym przypadku definicję wyglądu pól, etykiet itp.

Czytałem różne wątki na ten temat i jest on wciąż dla mnie niejasny. Ale gdzieś musi być rozwiązanie tej zagadki. Szukam więc dalej... Oczywiście jeżeli macie jakieś wskazówki to nie krępujcie się :P - chętnie przeczytam Wasze odpowiedzi.

@moje...
Piszesz że "Plik php widoku. " W folderze /components/com_contact/views/contact/tmpl/ nie licząc pliku index.html jest 7 innych plików. Moje zmiany dotyczą plików default.php oraz default_form.php... Zmieniając nazwy tych plików na default1.php oraz defaultform1.php oraz nanosząc w nich odpowiednie zmiany, wchodząc z panelu administracyjnego do ustawień mojego formularza kontaktowego -> "Opcje wyglądu" -> "Alternatywny widok" oczywiście widzę pod nazwą swojego szablonu nazwy obu plików. Natomiast... Po pierwsze wybranie obojętnie którego z nich nie wprowadza zmiany w wyglądzie mojego formularza a po drugie nie mogę wybrać obu plików na raz (a one razem składają się na sumę moich zmian). Wniosek stąd taki, że póki co nie kumam idei alternatywnych układów. Będę więc szukał dalej. Muszę zacząć od zrozumienia idei...

ps. myślę, że wskazówką jest "edit 3" tomaszka83, z tematu który podałem wyżej

pozdrawiam

moje
09-05-2011, 14:46
Struktura katalogów z plikami do nadpisania w szablonie 1.6 ma być taka sama jak w 1.5. Do tego plik xml szablonu powinien mieć odpowiednie dopisek.
Dół strony: docs.joomla.org/Layout_Overrides_in_Joomla_1.6
Polecam też: community.joomla.org/blogs/community/1257-16-templates.html