Tartalom hozzáférésének beállítása, saját tartalom állapot alapján, plussz kamu törlés.

Amoditer képe

Sziasztok,

Szeretnék segítséget kérni tőletek, a következő problémámban előre is elnézést kérek a kezdő szintű fogalmazásért :) :

Azt szeretném elérni, hogy mikor egy user töröl admin felületen egy bizonyos tartalmat, akkor az ne törölődjön ki (speciel kamu törlés történjen), csak számára láthatatlanná váljon, de maradjon ugyanúgy publikált állapotban a tartalom, csak ő nem lássa se az oldalon, se az admin felületen.

Alapvetően úgy tudom (nem vagyok profi így csak amit eddig láttam az alapján), nincs olyan törlés a drupalban alapból amivel ezt a kamu történést el tudom érni, így arra gondoltam, hogy felhasználom ezt a modult Soft Delete mely valójában egy "kamu törlés", annyit csinál, hogy a tartalomnál fent a szerkesztés fül mellett létrehoz egy "Remove" fület, amit ha megnyom a user, akkor az eljátsza neki, hogy törli a tartalmat, de valójában csak unpublished állapotba helyezi úgy, hogy a statust 1-ről 0-ra állítja.

Ez nekem jó olyan szempontból, mert így a valódi delete gombot letiltom, és így a usernek megmarad a törlés illúziója, és érzése, hogy ő megteheti.

A problémám az, hogy nekem muszáj, hogy published maradjon, a 'kamu törölt' tartalom és el is kellene tüntetnem valahogyan a user szeme elől mindenhonnan. Így a Custom Publishing Options modullal létrehoztam egy saját checkboxos publishing állapotot (pl: archive), ami az adatbázison belül a node táblába létrehoz egy új oszlopot olyan archive néven. Ennek az állapotát a fenti Soft Delete modul módosítását követően tudom változtatni közvetlenül, hogy 0 vagy 1 legyen.

Így mikor a user megnyomja azt a bizonyos 'remove' fület és kamu töröl, akkor a Soft Delete modul aktívvá teszi az "archive" állapotomat is a published állapot mellett a "kamu törölt" tartalmon belül.

Ez eddig remek, dolog, de most jönne az ahol elakadtam, hogy mikor a tartalom published és az általam létrehozott új állapotban (archive) van egyszerre, akkor el kellene tűnnie a user elől aki törölte azt minden felületen.

Vagyis én, az alapján szeretném korlátozni a tartalom (cikk, saját tartalom...) elérését a user számára, hogy ez az általam létrehozott állapot (archive) aktív e a published állapottal közösen, vagy nem.

Archiváláshoz, és alapvetően más modul, view működéséhez lenne szükségem erre, a usert nem érdekli, hogy törlődik e valójában tartalom, csak nem akarja a listába és máshol sem látni többet, de a modulhoz szükséges, hogy az egyszer felvitt adat ne tűnjön el és maradjon published is csak egy másik állapottal kiegészítve.

Azért gondoltam az ilyen esetleges kerülőútra több modulon keresztül, mert így drupal frissítésnél nem lesz semmi probléma :P.

Remélem sikerült nagyjából körbeírnom a dolgokat, ha esetleg más megoldást javasolnátok, a fenti eredmény eléréséhez, nekem az is tökéletes lenne.

Előre is köszönöm a segítséget, a hozzászólást, és legfőképpen mindenkinek az idejét!

Drupal verzió: 
Fórum: 
Nagy Gusztáv képe

Én erre az Override Node Options modult szoktam használni. A törlést nem engedem, de a közzétett jelzőt a fenti modullal piszkálhatja. Alapbeállítások szerint nem fogja látni a rejtett tartalmat, így lényegében ugyanaz, mint amit kérsz.

(Egyébként én szoktam a saját rejtett tartalmat is mutatni egyes esetekben.)

0
0

Nagy Gusztáv

Amoditer képe

Köszönöm a segítséget :)

0
0