Bevallom, én csak d.con
Bevallom, én csak d.con alkalmával találkoztam olyan „sminkessel”, aki képes bármilyen felhasználói felületet egymaga kivitelezni, mert megvan benne az a vizuális kreativitás és kézügyesség, a mély alapokkal bíró fejlesztői tudás no és persze se kutyája, se macskája, ideje, mint a tenger dolgozni és tanulni, jónak maradni. Nagyon kevesen vannak és még kevesebben vannak (világszinten), akik ezt a képességet és önfeladást meg is tudják fizetni.
A valóság ezzel szemben az - és ez a Drupal igazi érdeme - hogy külön lehet választani a felhasználói interakciókat és a látványt az adatokkal való feltöltéstől úgy, hogy egymás területével a lehető legkevesebbet, a saját specializációval a legtöbbet töltve. Épp ezért az én tapasztalatom az, hogy a theme_image(), theme_item_list(), l() és még néhány sminkfgv erőltetése inkább hátrány, mint előny. Mitől szemét, ha egy .tpl-ben img src van? Milyen hátránya származik belőle, ha így használja? Az előnye az, hogy
- nem lesz a designer területe PHP kóddal tele
- nem kell minden Drupal kiadásnál újratanulnia változásokat
- nehéz megindokolni, mitől lesz az ő munkája könnyebb/hatékonyabb, hiszen az adatokat a backend fejleszőt fogja beletenni
- nem lesz tele first-last-active és a bánat tudja még milyen ballaszt, az esetek döntő többségében felesleges classekkel, hogy a theme_image() getimagesize() alapértelmezett bekapcsolását ne is emplítsem
- a theme_item_list() -nél sem a wrapper div classét, sem a fejléc típusát, classét nem tudod beállítani; ha felülbírálod, akkor ismét mindenhol át lesz írva, rakhatod az átláthatatlanságig tele if-ekkel
Tudnám még ragozni, szerintem a fent említett fgv-ek a ló túlsó oldala.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
hibajelenség?
neobase ügyfélszlgálat? :)
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
teljesen más irányból közelítenék
organic groups
és nem 'user role'... gondolom a csoportot 'user role' -ként érted.
de az nem pont erre való, mindenkinek van joga beküldeni hírt, nemigaz? :)
szóval az kéne, hogy legyen organic groups, van a 'csoport' tartalom típus, létrehozod a 'hr, pr, xy' csoportokat, ezek döntésed szerint lehetnek zárt vagy nyitott csoportok, ha zárt akkor csak a csoporttagok látják a tartalmakat (kivéve, ha direkt public a tartalom).. mindenki csak a saját csoportjába posztolhat, beállítás kérdése, hogy melyik csoporthoz lehet szabadon csatlakozni és melyikhez nem.
minden csoportnak eztán lehet saját sminkje, menüi, blokkjai, miegymás, a tartalmakat egyszerűen a saját csoportjába küldi, így a csoportok kvázi 'kicsi webszájtok' lesznek varázsütésre.
amivel próbálkozol, hogy 'user role' alapon szervezd ezt, az sokkal nyakatekertebb.
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Most lehet, nekem nem esett
Most lehet, nekem nem esett le a dolog, de az og ebben az esetben kicsit atomrakétával tetűre szagú.
Nem lenne elég egy szótár hr pr xy kifejezésekkel, és a http://drupal.org/project/taxonomy_access -el meg beállítgatni, hogy melyik role-nak melyiket szabad használni?
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Én így
csináltam: Callback-en, újraépítettem a form-ot. Példa *ezt háromnegyed éve csináltam kb*: van 2 select-ed *itt csak 1-et választhat ki a felhasználó* és van még 4 multiple selected *itt nyílván többet választhat ki.*
A feladat az volt, hogy a form elementeket, a legelső select kivételével, újra kellett építeni minden "click" eseményen.
Ezt úgy csináltam, hogy mindegyik selectnek ugyan azt a wrappert és path-ot (a method replace volt) adtam, majd callback-en újra felépítettem a teljes form-ot utánna pedig a régi form-ot cachből behívtam, replaceltem, újraépítettem, becacheltem és rendereltem.
A $new változó az új form.
A $_POST / $_GET a $form_build-nél a lapozó miatt van
code-snipet:
$form_state = array('submitted' => TRUE); $form_build_id = $_POST['form_build_id'] ? $_POST['form_build_id'] : $_GET['form_build_id']; if (!$form = form_get_cache($form_build_id, $form_state)) { exit(); } $form['element1'] = $new['element1']; $form['element2'] = $new['element2']; for ($i = 0; $i <= 3; $i++) { $form['option'. $i] = $new['option'. $i]; } $form['element3'] = $new['element3']; $form = form_builder('your_custom_form', $form, $form_state); form_set_cache($form_build_id, $form, $form_state); $form += array( '#post' => $_POST, '#programmed' => FALSE ); $output = theme('status_messages') . drupal_render_form($form_build_id, $form); print drupal_json(array('status' => TRUE, 'data' => $output)); exit();
*----*----*
$node ? 'alma' : 'bor'
*----*----*
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
időzített feladatok
állítsd be a cron-t, vagy ha nincs rá lehetőséged: http://drupal.org/project/poormanscron ha jól emlékszem csak cron futás után frissül a block