Google Docs’ new face

Amikor tegnap az aktuális sörözésre rohanva előkapartam a Docsból az MG által kért doksit, meglepődve tapasztaltam az átváltozást. A Webisztán írja le részletesebben az új mappa-címke rendszert, amely már a Picasa2-ből is ismerős lehet (csak speciel Albums és Folders névre hallgat a dolog, előbbi a címkézés megjelenítése, utóbbi inkább a már megszokott mapparendszert adja vissza).

Én csak a Google Librarian Newsletter vonatkozó (7.) számát tudom ajánlani…

Viszont, hogyha már Picasa, akkor nem hagyom ki, hogy ne kapcsoljam a kedvenc témámat: Linuxra is létezik a Google fotórendezője, kicsit ugyan le van maradva, de hamarosan utoléri talán a Windowsos verziót (egy nem túl meggyőző nyilatkozat szerint a nyár végéig pl. meglesz az Upload to Web Albums funkció, ami jelenleg elég nagy hiányossága…).

Jelszóval védett tartalom (esti update) – alternatív szöveg megjelenítése

Az alternatív szöveg megadására tehát két lehetőségünk van: vagy beleírjuk az oldal sablonjának kódjába, vagy minden egyes védett oldalhoz írhatunk testreszabott üzenetet.

Az első lehetőség elég egyszerű: megvizsgáljuk, hogy az adott felhasználó be van-e jelentkezve, ha igen, akkor lefut a postokat megjelenítő Loop, ha nem, egy üzenetet kapunk, hogy tessék bejelentkezni. Ez így fog valahogy kinézni:


<?php get_header(); ?>
<?php if_user_logged_in() : ?> (ha be van jelentkezve, akkor a következő fog történni:)
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<div class="entry">
<?php the_content(); ?> (és a tartalom csicsázása – cím, dátum stb.)
</div>
<?php endwhile; ?><?php endif; ?> (eddig volt a tartalom megjelenítése)
<?php else : ?> (és ha nincs bejelentkezve)
<p>Jelentkezz be kérlek!</p> (vagy valami ilyesmi)
<?php endif; ?>

A másik lehetőség pedig hogy az egyes tartalmakhoz odaírjuk, hogy mi legyen az alternatív szöveg. Mondjuk egy rövid ismertető az adott tartalomról, és egy buzdítás a regelésre vagy egy határozott “Nekedehhezsajnossemmiközöd” szöveg (amelyet a Megjegyzés kivonatba írjuk bele), persze finomabban:


<?php if_user_logged_in() : ?>
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<div class="entry">
<?php the_content(); ?>
</div>
<?php endwhile; ?><?php endif; ?>
<?php else : ?>
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<div class="entry" ><?php the_excerpt(); ?></div>
<?php endwhile; ?><?php else : ?>
<?php endif; ?> (és itt a mese vége)

Arról pedig legközelebb lesz szó, hogy voltaképpen hogyan is kerülnek a megfelelő helyre a tartalmak (azaz, hogy ne az egész portálunkat listázza ki a fenti kód, hanem csak azokat, amiket tényleg kell).

És miért nem szóltatok, hogy az előző bejegyzésben baromságot írtam?…

Jelszóval védett tartalom

Egy szösszenet a Mamut egyik kávézójából, a sorozathoz:

Ha bejelentkezéshez kötött statikus tartalmat akarunk létrehozni, akkor két elvi lehetőség nyílik: egyrészt az oldalsablonba beágyazunk egy konstans szöveget, pl.

“A tartalom megtekintéséhez regisztrálj és jelentkezz be!”

A másik, hogy az excerpt-be (Megjegyzés kivonat ungarisül) beírjuk a kívánt szöveget (ld fentebb). Ezek után az oldal szerkesztőfelületébe bepakoljuk a kívánt tartalmat (esetemben az adatbázisok hozzáférését, mert úgy szólt a döntés, hogy csak a hallgatók és az oktatók lássák – erről még később lesz szó), és elmentjük.

Mindkét esetben bele kell nyúlni a sablonba, az egyik verzió, hogy a fentebb beírt szöveget tesszük láthatóvá bejelentkezés nélkül, a másik, hogy az excpert-et. A lényeg meg így néz ki:

< ?php get_header(); ? >

Ide jön az excerpt, ill. a kívánt felszólítás szövege. Rögtön utána pedig:

< ?php if(is_user_logged_in()) : ? >

És maga a tartalom, amit a fő beviteli mezőbe írtunk bele, jól. (Update: ez hülyeség volt.)

Most ennyi, este alaposabban körüljárom a kérdést.

Az egyik szemem sír…

a másik nevet.

Mindjárt megyek a második körre a mondattan csodálatos világából, viszont annyira frusztrált az, hogy semmi kedvem nem volt foglalkozni vele, hogy lezavartam egy Ubuntu-reinstallt (na, ezt a mondatot pl nem tudnám elemezni, az fix…).

Ezzel szemben, mint most szembesültem vele, már csak 8 könyvtáros (tájékoztatás, információforrások 3, 4 – társadalomtudományok és humaniórák, valamint természet- és alkalmazott tudományok; adatbázisépítés, könyvtárgépesítés és integrált könyvtári rendszerek; könyvtári és informatikai menedzsment 1, 2; valamint infoszakszem 3, 4) és 10 magyaros (XIX. századi magyar irodalom előadás és szeminárium, XX. századi világirodalom előadás és szeminárium, stilisztika, nyelvtörténet 2, 3, szociolingvisztika, pszicholingvisztika, általános nyelvészet) tanegységem maradt hátra, valamint 3 szigorlat (jó eséllyel megúszom az irodalomelméletet, na de majd meglátjuk ; ). Ezt egy jobb bölcsész egy félév alatt zúzná lefele, csak hát egyrészt nem vagyok jobb bölcsész, másrészt nekem a hét csak három és fél, harmadrészt ennek a felét nem hirdetik meg ősszel és előfeltételes.

Screenshot

A portálépítgetés megy. Legutoljára azt magyaráztam, hogy hogyan lehet a Corvinás keresőfelületet belepakolni gyorsan a lapunkba, azóta pedig a kezdőlapot csiszolgattam. Szétosztottam négy nagyobb körbe az egyes lehetőségeket, azt szépen elneveztem, és egy oszlpoba rendeztem, majd az egészet táblázat-szerűen elhelyztem a statikus kezdőlapon, amire a WP 2.2 már nagyon alkalmas, a Beállítások > Olvasás oldalon lehet szórakozni. A legegyszerűbb létrehozni egy home.php nevű lap-sablont (emlékszünk? előző bejegyzés…), majd ezt alakítgatni.

A szerűt azért emeltem ki, mert jómunkásember nem használt táblázatot tartalomigazításhoz (bár erről vannak más vélemények is…), csak dobozokat (alias <div>). Nos, ez nekem mindig munka, hogy újra és újra rájöjjek, hogyan lehet 2x2es felületet létrehozni. Az egyszerűség kedvéért itt most rögzítem.

Tehát, először csináljuk meg a Nagy divet, aztán a két sornak is egyet-egyet, aztán, ha több elemet (listát, bekezdést, blokkot stb.) akarunk rakni egy hasábba, akkor azoknak is egyet. Ez azt jelenti hogy 7 darabot kell megcsinálni, valahogy így:

<div id="kezdolap">
<div id="felso">
<div class="felso_bal"></div>
<div class="felso_jobb"></div>
</div>
<div id="also">
<div class="also_bal"></div>
<div class="also_jobb"></div>
</div>
</div>

Ezt pedig formázzuk be most. A bal oldaliak ellebegnak balra, a jobb oldaliak pedig jobbra, valamint, ha különböző mennyiségű tartalmat teszünk bele, akkor érdemes megadni egy fix magasságot is, mondjuk 200 pixel. Ez CSS-ben így néz ki:

.felso_bal, .also_bal { float: left; height: 200px; }
.felso_jobb, .also_jobb { float: right; height: 200px; }

Gyakorlatilag ennyi. Én még annyit bolondítottam rajta, hogy az egyes blokkok címe mellé raktam egy ikont, amit úgy értem el, hogy <h2> címsor taggel emeltem ki a címet (pl. Hírek), majd a CSS-ben beállítottam, hogy a háttérben jelenjen meg az ikon, balra csúsztatva. Érdemes átlátszó hátterű ikonokat használni (ezt tudja a PNG és a GIF kiterjesztés is), mert így szép hatást lehet elérni színes háttérrel is, ennek “pusztán” annyi a hátulütőja, hogy az Explorer nem tudja kezelni, hanem szürke hátteret pakol be. Állítólag van rá megoldás, én működővel még nem találkoztam. És akkor ez így néz ki:

.felso_bal h2 {background: url(http://a_kep_urlje/kep_cime.png) no-repeat left; padding: 10px 0px 0px 35px;}

momek printscreenÉs így a másik hárommal is. A background állítja be a háttér tulajdonságait, amelyben megadjuk a kép helyét, azt hogy ne ismétlődjék (ezt meg tudja tenni függőleges – x-repeat – és vízszintes – y-repeat – irányban is, amíg ki nem tölti az adott blokk hátterét), valamint hogy a tartalomhoz képest balra lebegtesse (azaz jobbra fussa körül a szöveg), végül pedig a felső és a jobboldali szegélyét állítottuk olyan vastagra, hogy ne folyjon egymásra kép és szöveg.

Az meg már csak egy kósza ötlet volt, hogy az olvasót előre tájékoztassuk, hogy mit talál adott oldalon. Erre ugye van a title="link címe" megoldás, amit elegánsabb megoldással ki is vetíthetünk a linkek mellé egy JavaScript segítségével.

Legközelebb itt folytatom, addig is egy printscreen a kezdőlapról.