hello! egy olyan oldalt szeretnék készíteni, amely csak egy bizonyos társaságnak elérhető. elkezdtem nézelődni a cms rendszerek között és egyelőre a drupal a legszimpatikusabb. a kérdésem az, hogy hogyan tudom letiltani a főoldalamról az images modul által feltett blokkot (azt hiszem így hívják). eddig csak a bejelentkező form volt kinn egy meg egy címlap link. most ez bővült egy galéria linkkel és egy képek nevű blokkal. ez utóbbi kettőt szeretném, ha csak bejelentkezett felhasználók láthatnák, mint a többi tartalmat. az anonymus és auth. usereknek nincs semmi bepipálva (admin/felh/beáll/jog lapon), csak egy xxx nevű csoportnak vannak jogai.
remélem érthető a problémám és tudtok segíteni!
kösz:
tothmate
Hibás a modul
Szerintem hibás lehet a modul, mert a blokkot csak akkor szabadna megjelenítenie, ha a felhasználónak joga van a tartalmak elérésére. Milyen jogok kapcsolódnak a galéria, meg a kép modulokhoz a felhasználói jogok lapból ítélve?
az image modulhoz hozzáfér
az image modulhoz hozzáférés a képekhez és képek feltöltése van bepipálva (a node modulnál tartalmak elérése), de csak az xxx csoporthoz.
Nézz bele a kódba
Ha nincs user_acess() hívás a modulneve_block() függvényben a kép modulodban, akkor ez a baj.
Melyik modul konkrétan?
image
image, ez a neve (innen: http://drupal.org/project/image ) 4.5.1-es drupal.
user_access
tényleg nincs ilyen. megpróbálom lelesni más modul kódjából
ok
köszi a tippet!
az image_block függvényben kell kicserélni ezt:
if ($op == "list") {
$blocks[0]["info"] = t("Image Gallery");
} else {
// our block content
$blocks["subject"] = t(variable_get("image_block_title", "Image Galleries"));
$albums = taxonomy_get_children($tid, variable_get("image_nav_vocabulary", ""));
$blocks["content"] = theme_image_block($albums);
erre:
if ($op == "list") {
$blocks[0]["info"] = t("Image Gallery");
} else if (user_access('access content')) {
// our block content
$blocks["subject"] = t(variable_get("image_block_title", "Image Galleries"));
$albums = taxonomy_get_children($tid, variable_get("image_nav_vocabulary", ""));
$blocks["content"] = theme_image_block($albums);
de
viszont megmaradt felül a címlap mellett a galéria link, úgyhogy még nézelődöm a kódban.
nagyon tetszik, hogy absz. kezdők problémáira is készségesen (és gyorsan) válaszoltok, minden elismerésem!
nem volt nehéz rájönni, ho
nem volt nehéz rájönni, hogy máshol is a user_access hiányzik
ez kell cserélni:
function image_link($type, $node, $main = 0) {
global $user;
$links = array();
// Add page level link if a vocabulary has been selected for navigation.
if ($type == "page") {
if (variable_get("image_nav_vocabulary", "")) {
$links[] = l(t("image galleries"), "image");
}
}
erre:
function image_link($type, $node, $main = 0) {
global $user;
$links = array();
// Add page level link if a vocabulary has been selected for navigation.
if ($type == "page" && user_access('access content')) {
if (variable_get("image_nav_vocabulary", "")) {
$links[] = l(t("image galleries"), "image");
}
}
off: érdekes. itt nekem a fórumbejegyzések, ha ugyanazon a szinten vannak, nem idő hanem abc-sorrendben vannak.
access images
Az image modul ide vonatkozó joga az 'access images' jog, arra korrekt ellenőrizni, nem az 'access content' jogra. Javítottam az említett két hiányt (blokk és page link kiírás) a 4.5-ös és a fejlesztői változatban is.
ok
ok. még1x köszi és búék