Moduł zastępstw

Rozwiązałem jedną sprawę, pojawiła się kolejna. Muszę wykombinować skrypt zastępstw nauczycieli na stronę. Myślałem o przerobieniu jakiegoś gotowego modułu (blog?), ale wpisywać mogłyby tylko dla określonej grupy osób. W porządku, można to zrobić jako nowy rodzaj zawartości dostępny dla grupy, do której należą wybrani użytkownicy. Niestety nie ma tak kolorowo. Po pierwsze: każdy dodawałby zastępstwa ze swoim id na końcu (/drupal/blog/1), a to ma być jedna zawartość dodawana przez kilku użytkowników. Zależy mi tez na tym, aby wyglądało to mniej więcej w ten sposób:

  • Data, na którą są przewidziane wpisywane zastępstwa:

~ dzień miesiąca: do wyboru z listy rozwijanej/wpi­sywany ręcznie

~ miesiąc i rok: cyfra pobierana jakoś automatycznie z aktualnej daty (np. mamy 13.11.2007, wpisuje automatycznie 11 w miesiąc i 2007 w rok)

  • Lista wyboru z nazwiskami nauczycieli lub do wyboru „Inne wydarzenie”.
  • Zwykła textarea, do wpisywania treści zastępstw w stylu:
  1. 3a, 3b, 3c – zwolnieni
  2. 3a, 3b, 3c – zwolnieni

Do tego przy każdym wpisywanym zastępstwie za nauczyciela dostępne przyciski: edytuj, usuń, archiwizuj. Specjalnie zaakcentowałem ‚archiwizuj’, bo nie mam pojęcia jak to zrobić, bo chyba tylko kodem w pliku nowego modułu?

Oczywiście link ‚Pokaż archiwum’ kierujący do podstrony zarchiwizowanych zastępstw, widoczny dla grupy wpisującej.

Całość na bazie mysql.

Mam nadzieję, że mnie nie prześwięcicie za zawracanie non stop głowy i nakierujecie chociaż na rozwiązanie.

Pozdrawiam.

Sposób wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zachowaj ustawienia", by wprowadzić zmiany.
Portret użytkownika warna

Taak. Nie chciałbym się

Taak. Nie chciałbym się narzucać, ale ja naprawdę jestem początkujący, nie znam dostępnych modułów na razie, dlatego proszę o pomoc. Może jakaś alternatywa dla mojego toku myślenia?

Błagam, pomóżcie.

Portret użytkownika burkot

Nie będzie to

Nie będzie to łatwe.

Musiał byś poznać moduły Views http://drupal.org/project/views i CCK http://drupal.org/project/cck i ich rozszerzenia.

Trzeba stworzyć nowy rodzaj zawartości o nazwie np. zastępstwo.

Za pomocą modułu dodatkowego CCK o nazwie Date http://drupal.org/project/date uda ci się stworzyć pole daty w ten sposób jak opisywałeś.

Za pomocą także modułu dodatkowego Text stworzysz pole tekstowe (pole listy wyboru) z nazwiskami nauczycieli.

Obydwa we wspomnianym powyżej typie zawartości.

Moduł wykorzystując CCK będziesz mógł ułożyć kolejność pól:

  • tytuł
  • treść
  • data
  • nauczyciel

Ponieważ pole tytułu nie będzie ci potrzebne warto je wyłączyć z formularza wprowadzania danych przez Automatic Nodetitles http://drupal.org/…to_nodetitle (ustawiając w typie zawartości Automatically generate the title and hide the title field).

Domyślnie ustawić w typie zawartości segment jako opublikowany.

Następnie zainstalować Views Actions Links http://drupal.org/…ctions_links – dodatek dla Views wymaga modułu actions.

Stworzyć dwa widoki np. typu tabela

Pierwszy z filtrem segment opublikowany: tak, segment typu zastępstwo oraz polami :

  • data, nauczyciel, treść, edytuj, usuń, unpublish node (action)

Drugi z filtrem segment opublikowany:nie segment typu zastępstwo oraz polami :

  • data, treść, nauczyciel, publish node (action)

Pierwszy widok pokazuje bieżące zastępstwa, a ten drugi zarchiwizowane (a dokładnie jeden opublikowane,a drugi nie). Ostanie pola do pola akcji klikając na te linki powodujemy, że segment jest publikowany lub jego publikacja jest cofnięta.

Wystarczy odpowiednie zwroty(publish node, unpublish node) przetłumaczyć w pliku tłumaczeń modułu Views Actions Links jako (Odarchiwizuj, Archiwizuj) i otrzymujemy odpowiednie linki w tych widokach.

Oczywiście musisz też odpowidnio rozdzielić uprawnienia do dodawania, edycji segmentów oraz oglądania stworzonych widoków i modułu views actions links.

Jest to dość zawiłe, ale spróbuj robić to krok po kroku, a powinno ci się udać.

Portret użytkownika warna

Dzięki, jesteś wielki!

Dzięki, jesteś wielki! Poświęciłem ~3h na bawienie się tym wszystkim i w końcu wyszło jak należy. Do stworzenia listy rozwijanej użyłem Option Widgets zamiast Text, podanego przez Ciebie.

Aha. I żeby mieć działania do wyboru w Viewsie, to trzeba najpierw wejść w Budowa witryny → Działania -_-" (zajęło mi to trochę czasu, bo nie mogłem tego znaleźć w opcjach nowego widoku ;x). Ot, tak, dla potomności.

Dziękuję jeszcze raz i pozdrawiam.

Portret użytkownika burkot

Powodzenia w dalszej nauce

Powodzenia w dalszej nauce Drupala.