CCK w akcji

CCK w akcji

Dziś rozpocznę serię notek o najważniejszych, moim skromnym zdaniem, modułach do Drupala. Nie będę pisał o modułach wbudowanych w rdzeń, ale o takich, które rozszerzają podstawowe możliwości tego CMS o bardzo istotne funkcjonalności.

Dla przypomnienia – moduł w drupalu odpowiada komponentowi w Joomla! a więc poszerza możliwości CMS o szereg nowych funkcji, zwykle dodając swoje opcje do panelu administracyjnego i w inne powiązane z nowymi funkcjami miejsca.

Moduł CCK, który dziś krótko przedstawię, jest wymieniany jednym tchem wśród najważniejszych, najbardziej potrzebnych, najpopularniejszych dodatków do Drupala. Dlaczego? Zapewne chodzi o to, że daje dość ważną funkcjonalność – służy do wzbogacenia naszej treści o nowe pola, w które uprawnione osoby będą mogły wpisywać dane dodając treść do naszej witryny. Jakie mogą być te pola? Na przykład:

  • pole tekstowe,
  • pole daty,
  • pole z linkiem,
  • pole z relacją do obiektu w naszej witrynie (np do użytkownika, podstrony),
  • pole z obrazem,

… i wiele innych, instalowanych jako dodatki do CCK – lista wszystkich modułów wchodzących w skład pakietu CCK liczy na dzień tego wpisu 190 sztuk (mówimy o wersjach zgodnych z drupalem 6.x).

Przypomnę jeszcze, że Drupal podchodzi do zarządzania treścią w dość nietypowy sposób. Po instalacji mamy dostępne kilka podstawowych rodzajów zawartości – post na forum, blogu, stronę statyczną i artykuł. Wszystkie one bazują na jednym 'silniku’ a mianowicie rdzennym module node. Każdy wpis, niezależnie od rodzaju zawartości ma takie podstawowe dane jak tytuł, treść, autor, data publikacji, data ostatniej zmiany, listę wersji, ustawienia odpowiedzi, czy inne ogólne.

Możemy też stworzyć dowolna ilość nowych rodzajów zawartości, na przykład jeśli tworzymy stronę z recenzjami książek – ”recenzja’ i 'książka’.

Jednak jeśli zechcemy wzbogacić nasz typ zawartości 'książka’ o takie rzeczy jak grafikę z okładką, numer ISBN, odnośniki do zamieszczonych w serwisie recenzji, czy osobne pole ze spisem treści – musimy doinstalować CCK.Zawartość typu recenzja możemy wzbogacić o ocenę książki oraz o pole referencyjne (tworzące połączenie, relację) do zawartości typu 'książka’. W przyszłości zaowocuje to możliwością prostego budowania widoków – choćby wyświetlenia pod 'książką’ wszystkich dodanych do niej recenzji.

Dlaczego nie trzymać tych danych po prostu jako tekst i linki w polu 'treść’? Nowe pola dają nam masę możliwości. Możemy po nich wyszukiwać, możemy umieszczać je (lub nie) na wszelkiego rodzaju listach (budowanych z pomocą Views), możemy wreszcie nadać do pól uprawnienia. Przykładowo – każdy będzie mógł dodać recenzję książki, ale tylko administrator będzie mógł uzupełnić pole 'link do księgarni’, gdzie będziemy trzymać nasz własny link polecający. Co więcej link ten będziemy mogli dowolnie ostylować za pomocą css i np. wyświetlić na stronie jako ikonę. Po doinstalowaniu modułów związanych z obróbką grafiki (np. imagecahce, lightbox) będziemy mogli wyświetlić przy książce miniaturkę okładki.

CCK jest zatem modułem, który pobieramy jeśli chcemy zaprojektować w naszej witrynie coś więcej niż podstawowe rodzaje treści jakie oferuje 'goły’ system. Warto zauważyć, że moduł ten jest rozwijany praktycznie na równi z drupalem i nie musimy martwić się, że nagle ktoś porzuci jego rozwój. Przeciwnie – wszystko wskazuje na to, że wkrótce trafi on do rdzenia drupala.

Po zaprojektowaniu naszych rodzajów zawartości chcielibyśmy móc je wyświetlić w odpowiedni sposób. Jeśli chodzi o widok pojedynczego segmentu (np. książka) to posłużymy się wbudowanym w rdzeń drupala mechanizmem zwanym CCK formatters – czyli ustawimy jakie pola gdzie i w jakiej formie mają się wyświetlać (np. pole link – tylko w widoku pełnym, z etykietą umieszczoną nad linkiem, a pole obrazek – w widoku pełnym i w zajawce, bez etykiety). Jeśli chodzi o wszelkiego rodzaju listy i wykazy – tutaj niepobitym liderem jest moduł Views, który wkrótce przedstawię.

Dlaczego napisałem, że drupal podchodzi do tego zagadnienia nietypowo? Spotkałem się z kilkoma CMSami, gdzie każdy rodzaj zawartości – plikownia, linkownia, dział z recenzjami, galeria – był obsługiwany przez dedykowane moduły, nie mające nic wspólnego ze sobą. Każdy inaczej traktował komentarze, oceny, upload plików, inaczej wyglądało zarządzanie treścią dodawaną do nich, jak i sposób na moderację jej. Drupal stawia na wykorzystanie istniejących podstaw – systemu workflow, komentarzy, pól cck – aby każdy rodzaj treści był traktowany podobnie. Dzięki temu za pomoca kilku modułów możemy zbudować niemal dowolny system gromadzący treść.

Nieco więcej praktycznych porad – w naszym kursie Drupal dla początkujących – w lekcjach 5, 6 i 7.

Biuletyn elimu

Wysyłany raz w miesiącu

Nie spamujemy! Zajrzyj do polityki prywatności po więcej informacji