Paskutiniu metu labai daug laiko praleidžiu dirbdamas su DRUPAL turinio valdymo sistema. Ir buvo iškilę nė vienas gliukas. Aprašysiu juos ir jų sprendimo būdus. Tikiuosi bus naudinga.
Edit any page content
Vartotojo grupei įjungiau leidimą redaguoti turinį „edit page content“, bet ši rolė vistiek nematė EDIT laukelio ar negalėjo prieiti prie turinio redagavimo formos. Jei turinys buvo sukurtas naudojant FULL HTML, o šis vartotojas neturi leidimo naudoti FULL HTML, jam bus neleista redaguoti turinio. Šiuos režimus galima įjungti, išjungti varotojams Admin / Site Configuration / Input Formats dalyje.
Sprendimą radau http://drupal.org/node/370360
Formos įvedimo laukelis datos tipo
Kuriant įvedimo formą norėjau įdėti datos pasirinkimą. Reikia kurti formos laukelį su parametrais
….
$form ['kintamasis'] = array (
‘#type’ => ‘date’,
…..
);
O įvestas reikšmes išsaugo kaip masyvą
array(‘year’ => 2007, ‘month’ => 2, ‘day’ => 15)
Keisti į unix timestamp formatą naudojau tokią operaciją:
$date = mktime(0, 0, 0, $node->kintamasis['month'], $node->kintamasis['day'], $node->kintamasis['year']);
Duomenų bazėje esančia datos eilutę Unix timestamp formatu galima atvaizduoti formos date tipo laukelyje tokiu būdu:
$form ['kint'] = array (
‘#type’ => ‘date’,
‘#default_value’ => array (‘year’ => date(‘Y’, $node->kint),
‘month’ => substr(date(‘m’, $node->kint), 1,1),
‘day’ => date(‘d’, $node->kint))
);
Informacijos šaltis: http://api.drupal.org/api/drupal/developer–topics–forms_api_reference.html/5#date
Paieškos laukas
Jei norite, kad paieškos laukelis atsirastų jūsų sukurtoje temoje, reikia nepamiršti įjungti pasirinktoje temoje paieškos lauko galimybę. Tai galima atlikti temos nustatymuose. Taip pat reikia suteikti leidimus pasirinktomis vartotojų rolėmis. Kitu atveju paieškos laukelis nebus matomas.
Sprendimą radau http://drupal.org/node/210812
Navigacijos meniu matomas tik adminstratoriui
Pats nesugalvojau kaip padaryti tik administratoriui matomą navigaciją, Navigacijos bloko nustatymuose galima parinkti kuriomis rolėmis bus matomas blokas. Jei nepasirinkta nei viena konkreti vartotojų grupė, blokas matomas visiems. Pagrindinis vartotojas (vartotojas su UID = 1) nėra sąraše.
Sprendimas paprastas. Sukurti naują vartotojų rolę, priskirti pagrindiniam vartotojui, o navigacijos bloko nustatymuose pažymėti, kad tik naujai sukurtai grupei bus matoma.
Informacija rasta http://drupal.org/node/34677
Nurodyti duomenų bazės lentelės koduotę
Labai gerai, kad drupal turinio valdymo sistema yra visiškai UTF-8 koduotėje. Kurdamas savo modulį .install faile aprašant duomenų bazės lentelę nebuvau nurodęs numatytos koduotės. Tad turėjau problemų su atvaizdavimu. Modulio install faile kurdamas duomenų lentelę dabar nurodau: UTF8 CHARACTER SET utf8 COLLATE utf8_general_ci
Gali būti kad su šiomis problemomis susidūrė daugelis per pažinimo metą su drupal sistema. Tokiu būdu geriau susipažįsti su sistema.