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!
usuń aktualność tylko dla administratora
#1
Napisano 16 marca 2012 - 14:52
Powiązane pytanie dotyczące widoczności aktualności tylko naszego autorstwa (również nie dotyczy administratora)
Ktoś zna jakiś kruczek?
#2
Napisano 16 marca 2012 - 16:09
w dcaconfig.php wpisz:
if(!BackendUser::getInstance()->isAdmin) { unset( $GLOBALS['TL_DCA']['tl_news']['list']['operations']['delete'] ); }
#4
Napisano 18 marca 2012 - 09:57
PróbujęWystarczy zerknąć na metody checkPermission() np. w tl_news i odpowiednio je dostosować.
Okazuje się że trudniej będzie znaleźć algorytm pokazywania i chowania jednak
Info o pokazywaniu tylko swoich to zbytnie uproszczenie ale może uda mi się załatwić ten problem odpowiednim ustawieniem grup
Dziękuję za podpowiedzi
#5
Napisano 19 marca 2012 - 21:19
1. W metodzie checkPermission(), która jest onload_callback, zablokować możliwość usunięcia rekordu:
if (!$this->User->isAdmin && $this->Input->get('act') == 'delete') { $this->redirect('contao/main.php?act=error'); }
2. Do przycisku "delete" dodać button_callback:
public function deleteNews($row, $href, $label, $title, $icon, $attributes) { return ($this->User->isAdmin) ? '<a href="'.$this->addToUrl($href.'&id='.$row['id']).'" title="'.specialchars($title).'"'.$attributes.'>'.$this->generateImage($icon, $label).'</a> ' : $this->generateImage(preg_replace('/\.gif$/i', '_.gif', $icon)).' '; }
Jeżeli ma być możliwość usuwania rekordów tylko własnego autorstwa, należy to sprawdzić np. w metodzie deleteNews() tak:
public function deleteNews($row, $href, $label, $title, $icon, $attributes) { return ($this->User->isAdmin || $this->User->id == $row['author']) ? '<a href="'.$this->addToUrl($href.'&id='.$row['id']).'" title="'.specialchars($title).'"'.$attributes.'>'.$this->generateImage($icon, $label).'</a> ' : $this->generateImage(preg_replace('/\.gif$/i', '_.gif', $icon)).' '; }
W przypadku funkcji onload_callback trzeba by było zrobić coś takiego:
$objNews = $this->Database->prepare("SELECT id FROM tl_news WHERE author=? AND id=?") ->limit(1) ->execute($this->User->id, $this->Input->get('id')) if (!$objNews->numRows) { $this->redirect('contao/main.php?act=error') }
Codefog - Contao web development
#6
Napisano 30 marca 2012 - 14:16
"Allowed operations" (create, edit, duplicate, move, delete, view details, hide) can be defined per user group / user for following core modules and extensions:
- Themes, style sheets, front end modules and page layouts
- Page structure, Articles, Content elements
- News
- Newsletters
- Events
- Form generator
- FAQ
- Glossary (glossary, Author leo)
- BackupDatabase+ (BackupDBplus, Author do_while)
- Banner Modul (banner, Author BugBuster)
- Content-Box (boxes, Author markus.milkereit)
- Photoalbums (photoalbums, Author lindesbs)
- Galleries (gallery, Author thyon)
- Taxonomy (taxonomy, Author Xtra)
Również z jednym lub większą ilością słów kluczowych: aktualności, usuwanie
Rozwiązany
Contao →
Instalacja i konfiguracja →
problem z czytnikiem aktualnościNapisany przez lisner, 22 sty 2020 aktualności |
|
|||
Contao →
Zarządzanie treścią →
Jak zmienić kolejność aktualnościNapisany przez wad, 23 kwi 2013 aktualności |
|
|||
Contao →
Początkujący →
Dwa typy aktualności na stronie głównejNapisany przez Krzysztof K., 20 sty 2012 aktualności, news, strona główna |
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych użytkowników