Skocz do zawartości

Witamy na polskim forum Contao
Zarejestruj się teraz, aby skorzystać ze wszystkich funkcji forum. Kiedy się zalogujesz, będziesz mógł tworzyć tematy, pisać posty, rozdawać punkty reputacji, korzystać z prywatnych wiadomości i zarządzać swoim profilem. Jeśli posiadasz już konto, zaloguj się - w przeciwnym wypadku zarejestruj się już teraz!
Zdjęcie

Tworzenie modułów + okreslenie prawd dostepu


  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1
mirez

mirez

    Nowy na forum

  • Zarejestrowani
  • Pip
  • 8 postów
Witam,

Tworzenie modułu zostało dobrze i klarownie opisane w artykule:
http://www.typolight...rials:extension

Teraz chcę pokusić o rozszerzenie funkcji.
Mamy nastepujący przypadek:

moduł pozwala dodawać pewne dane do bazy, jak w tutorialu są pozycje CD, kilka pól tekstowych + foto

w panelu admina po zaladowaniu modulu CD collections (do pobrania z tutoriala) widzimy w zawartości nasz nowy moduł

możemy dodawać, edytować, usuwać elementy w naszym CD spisie.

Teraz chciałbym aby opracje dodawać, edytować, usuwać były mozliwe z pewnymi ograniczeniami. Otóż admin ma prowo do wszystkiego i zawsze natomiast chodzio o to żeby autor danego wpisu (pojedynczy rekord) widzial wszystkie rekordy ale mogl edyotwac i usuwac tylko swoje rekordy.

Generalnie chciałbym w jakis spsób wyszarzyć ikony nieaktywne np ikona edit.gif zmienic na edit_.gif (tak to jest przy edycji artykułów). Najprościej było by sprawdzic kot jest zalogowany porównać z polem autor rekordu w bazie (tego pola w tutorialu nie ma, ale mozemy prosto je dodac). Jesli login user = autor to mamy wszystkie opracje na tym rekordzie. Wydaje sie modyfikacje nalezy dodac w tl_cds.php i tu ograniczyc operacje tylko jest problem - jak z poziomu tego skryptu sprawdzić wyjaz pole autor z rekordu bo nie znamy w skrypcie zmiennej ID?

Jeśli coś jest nie zrozumiałe, tzn idea to chętnie to wyjąśnie :)

Posluguje sie tu przykładem ale pewnie nie jeden webdeveloper/autor chcialby zorganizowac takią funkcjonalność.

pozdrawiam
  • 0

#2
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Czy ja dobrze rozumiem? Chcesz się dowiedzieć, jakie jest ID wpisu, a następnie pobrać z tegoż wersa autora?

Chodzi mi o to:
SELECT author FROM tl_cds WHERE id='$id'

  • 0

Codefog - Contao web development


#3
mirez

mirez

    Nowy na forum

  • Zarejestrowani
  • Pip
  • 8 postów
Cześć,

Dzięki mniej więcej o to by sie rozchodziło.

Generalnie chodzilo by o to zeby w pliku konfiguracyjnym zdefiniowac callback w operations np.
'button_callback' => array('Class', 'Method'),

W tej kalsie mamy metode public function listCds($arrRow)
no i w row mamy itemy wyswietlane w moim module w czesci backend.
Oczywiscie tu mozemy tez pobrac autora wg Twojej receptury.

Teraz tylko jak przykladowo zablokowac ikone edit, zeby byla disbled i bez linka?
Pewnie da sie to zrobić poprzez zmiany w tabeli $GLOBALS['TL_DCA'][$this->strTable]['config']
Wiem jak zrobic np ikone szara, ale nie wiem jak wylaczyc linka pod ta ikona.

Kolejna rzecz jesli ktos nawet nie wejdzie przez linka ze strony klikajac edytuj. To moze to zrobic poprostu wpisujac linka w pasku adresowym przegladarki.
Tu pewnie wyjsciem bedzie zastosowanie w konfigu modulu metody onload onload_callback - to chyba proste.

Glownie chodzilo by mi jak sobie poradzic z ikonami edycja, usun.

pozdr,





{
  • 0

#4
Kamil

Kamil

    Contao ambassador

  • Administratorzy
  • 1 538 postów
  • Strona www:zobacz
  • LokalizacjaLidzbark Warminski
Słuchaj, opisałem problem na oficjalnym forum TL:
http://typolight.org...c.php?pid=35425

Jakbyś miał problem z przetłumazceniem to poczekaj do środy - dzisiaj i jutro jestem totalnie "zawalony" robotą :(
  • 0

Codefog - Contao web development


#5
mirez

mirez

    Nowy na forum

  • Zarejestrowani
  • Pip
  • 8 postów
Czytalem artykul (no problem with EN) - mam juz trop.
Dam znac czy uda mi sie to zaimplementować.

Generalnie dzięks :)
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych użytkowników