Sziasztok!
Előre bocs, ha "volt már" témát feszegetek, de éjjel végigolvastam a teljes fórumot, rá is kerestem a problémámra, egyelőre nem találtam választ.
Tehát: egy céges honlapon kellene egy tartalmat jelszóval elérhetővé tenni. Konkrétan: a nagyker árlistát csak regisztrált emberkék nézhetik meg / tölthetik le. Ehhez van egy statikus oldal (nagyker-arlista). Mivel az oldal anonym felhasználós, azaz nem szükséges login a látogatáshoz, a login blokkot csak itt kellene megjeleníteni, egy információs mezővel plusz egy 'regisztráció' hivatkozással. Ha a látogató begépeli nevet/jelszót, ugyanezt az oldalt kapja, csak már a tartalommal.
Ezt próbáltam így:
<?php global $user; ?> <?php if ($user->uid) : ?> - tartalom - <?php else : ?> - login block - <?php endif; ?>
A - login block - az ugye az, amit a drupal alapvetően használ. Tulajdonképpen ez működött, én, mint regisztrált user a tartalmat láttam, kijelentkezés után megjelent a login mező, ám az elküldés után ez 'végtelen ciklusba' került, azaz ismét az üres loginmezőt kaptam vissza. A form action így nézett ki:
<form action="/nagyker-arlista" method="post" id="user_login">
Azaz az action az adott oldalra dob vissza - azt gondoltam, az uid elenőrzés miatt ekkor már a tartalom fog látszani, de nem... Mit rontok el? A legfrisebb verziót (5.2) használom. Előre is köszönöm a választ!
Miért nem állítod be,
Miért nem állítod be, hogy a blokk melyik csoportnak látszódjon és hol jelenjen meg? Ezt a blokk beállításainál tudod megtenni.
Aries
http://aries.mindworks.hu
Köszi, és bocs...
... ha láma kérdéseket írok, de másfél napja ismerkedek a drupallal :). Amúgy gyorsan tanulok, nem lesz velem sok gond, ígérem. :)
A kérdésed és egyben megoldásod természetesen kézenfekvő, be is állítottam, már majdnem jó, sőt tökéletes, viszont akkor bátorkodom azt is megkérdezni itt (hátha segítünk ezzel másokat is, akiknek ez a gondja, és később rátalálnak erre a szálra), hogy mily módon lehet összerakni frappánsan az oldalt. Ugyanis most a beküldött tartalom alatt jelenik a login blokk, és szeretném valahogy megdizájnolni, azaz ne elkülönülve legyen a két dolog, hanem egyben, homogén módon. Erre jó pl. a block.tpl? Vagy más modul? CSS-ben otthon vagyok, ha bele kell nyúlni a PHP-ba, attól se rettenek vissza, úgyhogy elég egy-két, a fentihez hasonló 'jó irányba rugdosás' is :). Köszi a választ előre is!
milyen smink?
Milyen smink teszi neked a login blokkot a tartalom alá? Nincs left sidebar és right sidebar a blokk beállítási oldalon?
saját smink :)
Saját sminkem van. Én mondtam neki, hogy a tartalomba tegye :). Ez ott jó helyen is van. A .node classt formázom CSS-ben úgy, hogy pofás kis boxba pakolja a tartalmat. Ez oké. Most azt csináltam, hogy van a tartalom formázott h2 fejléccel (cím - Nagyker árlista), alatta a dobozban a szövegtörzs (Csak regisztráltaknak, stb), ám alatta ott 'fityeg' a login blokk.
Mondjuk ha más megoldás nincs, akkor sincs gáz, mert ezt is megformázom CSS-ben, mint a tartalmat, és lesz egymás alatt két pofás box, csak gondoltam, ha van rá ismert, egyszerű megoldás, az egészet egybe lehetne pakolni, mint a http://lmv.hu/ oldalon a belépés menüpont. De ott tudom, hogy a készítő a login modult rakta be az oldal törzsébe, php beviteli formával (tegnap esti fórumolvasásom gyümölcse :)). Gondoltam, a block.tpl vagy template.tpl, esetleg a node.tpl alkalmas arra, hogy ilyesmit megjátsszak. Ha viszont ennél bonyolultabb, akkor összehozom CSS-ben, float, absolute pozícionálás, egyéb okosságok csodákra képesek :).
régió
Létrehozhatsz egy új sminkrégiót, amit a page.tpl.php-ben a fő tartalmi részen belülre helyezel. Ez a régió megjelenik a blokk beállítási oldalon, ott beleteheted a User login blokkot.
belépett - nem belépett
az lmv-n így van:
http://alleycat.hu
ninja - http://alleycat.hu
Megoldottam...
Megoldottam a problémámat...
Ilyen egyszerű. Ez egy blokkban van, és úgy formázom, ahogy akarom.
az utókor kedvéért
Az utókor kedvéért írjuk le, hogy itt nincs lehetőség felhasználó létrehozására és új jelszó kérésére, hacsak nem kódoljuk bele a "Csak regisztráltaknak..." részbe.
Az ajánlott megoldás az, amire Aries is utalt: a blokk beállítási oldalon (admin/build/block) kell szabályozni a User login blokk megjelenését, pl. hogy csak ezen a bizonyos védett információkat tartalmazó oldalon jelenjen meg. Azt, hogy a blokk melyik régióban jelenjen meg az oldalon, szintén a blokk beállítások oldalon tudjuk szabályozni.