--=REKLAMA=--

Yvcomment/Informacje dla programistów

Z Joomla!WikiPL

yvComment został napisany od podstaw specjalnie dla Joomla! 1.5 i nie jest kompatybilny z wcześniejszymi wersjami Joomla!/Mambo. Tak więc może śmiało wykorzystywać nawet najbardziej zaawansowane funkcje dostępne w Joomla! 1.5.

Moją intencją jest tworzenie rozszerzenia, które jest jak najbardziej "naturalne", natywne dla Joomla, które wykorzystuje tak wiele wbudowanych (lub istniejących) cech (i narzędzi, rozszerzeń, włączając w to produkty zewnętrzne, przygotowane dla Joomla!), jak to tylko możliwe.

yvComment wykorzystuje wzorzec architektury " MVC (ang. Model-View-Controller). Myślę, że dla programisty najciekawszym faktem jest to, że yvComment wykorzystuje ten sam kod MVC dla wszystkich części: Komponentu, Modułu i Dodatku. Tak więc klasy Komponentu, Modułu i Dodatku są w rzeczywistości różnymi interfejsami do tego samego jądra yvComment.

Model danych

yvComment posiada dwie możliwości: wykorzystuje tablice 'treści' (ang. content) Joomla! lub wykorzystuje swoją własną tablicę. W obu przypadkach struktura tablicy jest taka sama: tak JAK to zostało zdefiniowane w pliku 'installation/sql/mysql/joomla.sql', por. 'Table structure for table `#__content`'.

Jeżeli chcesz zobaczyć, jakie dane znajdują się w tej tablicy, wykorzystaj jakiegoś menedżera SQL (np. phpMyAdmin) do wyświetlenia zawartości tablicy 'jos_content' (lub tablicy 'jos_yvcomment', jeżeli nie chcesz wykorzystać tablicy treści (ang. content) do przechowywania komentarzy) swojej bazy danych.

yvComment wykorzystuje tablicę 'treści' (ang. content) w taki sam sposób, w jaki wykorzystuje ją środowisko Joomla!, dzięki czemu możesz wykorzystać do wyświetlenia/edycji/administracji komentarzy dowolne rozszerzenie.

Istnieją pewne zastosowania tablic treści (ang. content). Poniżej podaję listę tych rozszerzeń:

  • Każdy komentarz jest łączem do artykułu poprzez pole 'parentid'. Tak więc, dla przykładu, jeżeli masz artykuł "Przykładowy Artykuł" z id=4, wszystkie komentarze do artykułu "Przykładowy Artykuł" będą miały parentid=4. Myślę, że jest to prawidłowe użycie istniejącego pola z tablicy 'jos_content'. Takie podejście pozwala na dowolny poziom hierarchii: pojęciowo każdy komentarz może być skomentowany. Planuję dodać do yvComment możliwość 'komentowania komentarzy'...
  • Proszę zwróć uwagę, że yvComment wykorzystuje pewne dodatkowe 'atrybuty' komentarzy. Wszystkie te dodatkowe atrybuty są przechowywane polu 'metadata' tablicy 'treści' (ang. content). Znowu, jest to prawidłowe użycie tego pola, a nie 'sztuczka' na jądrze Joomla!


Dziękujemy za wkład

» Stefan Wajda [zwiastun],