Šoreiz pamācīšu, kā kaut ko izvadīt random'ā. Piemēram, manam iepriekšējam
stilam žūrnāla augšā tika izvadīts kāds no manis noteiktajiem banneriem,
bet sānā – citāts no kādas dziesmas. Katru reiz pārlādējot lapu, tā izskatījās
nedaudz savādāk.
Šajā piemērā uzzināsi, kā izvadīt kādu no saviem noteiktajiem userpic'iem. Nevis to,
kurš uzstādīts pēc noklusējuma, bet gan jebkuru no tiem, kas uzlādēti uz servera
(lai gan ne tikai – var ņemt attēlu arī no citām vietām). Pēc tam beigās paskaidrošu arī, kas jāmaina, lai attēlu
vietā izvadītu tekstu – kādu
citātu, sveicienu vai ko līdzīgu.
Un tātad. Savā S2 layout slānī jāizveido globālā funkcija print_random_userpic()
,
kas izvadīs nejauši izvēlētu lietotāja bildīti jebkurā vietā, kur vien būs
vēlēšanās. Šo kodu varēs izsaukt no jebkuras funkcijas vai klases savā stilā.
Un, protams, ka to var pielāgot pēc katra vajadzībām un gaumes.
Visupirms ir jātiek pie sava S2 slāņa koda. Lūk, šōrtkats, lai tiktu pie saviem slāņiem. :) Izvēlies vajadzīgo un nospied pogu "Edit". Tagad Tev ir redzams Tavs S2 kods un Tev tikai jāatrod kāda vieta (kur vien vēlies), kur ievietot zemāk esošo kodu.
function print_random_userpic(){
var string[] pic;
# protams, ka "#" simbolu vietā jāieraksta
# pareizais ceļš pie savas bildītes
$pic[0]="http://journal.bad.lv/userpic/####/#### ";
$pic[1]="http://journal.bad.lv/userpic/####/#### ";
$pic[2]="http://journal.bad.lv/userpic/####/#### ";
$pic[3]="http://journal.bad.lv/userpic/####/#### ";
$pic[4]="http://journal.bad.lv/userpic/####/#### ";
$pic[5]="http://journal.bad.lv/userpic/####/#### ";
var int randpic;
$randpic = rand(0, ((size $pic) - 1));
"""<img src="$pic[$randpic]" alt="Mana bildīte" />""";
}
Protams, jāaizvieto katra http://journal.bad.lv/userpic/####/####
teksta
virkne ar ceļu pie attēliem, kurus vēlies izmantot. Šajā vietā var izmantot
ne tikai userpic'us, bet kaut vai bannerus. Šis jau ir tikai piemērs.
Ņem vērā, ka, lai gan šajā piemērā tiek izmantoti seši attēli, tas nav ne minimālais,
ne maksimālais vērtību skaits – vari izmantot tik daudzus, cik vien vēlies.
Tāpat var arī droši mainīt izvadāmo HTML kodu pēc vajadzības, ja vien attēla
src atribūts paliek nemainīgs.
Lai izsauktu šo funkciju, vajadzīgajā vietā savā S2 slāņa kodā (kur vien tas
vajadzīgs) ievieto šo rindiņu:
print_random_userpic();
.
Lielākoties tulkots, saite.
Trūkums šādam risinājumam ir tāds, ka
nav iespējams noteikt attēla izmērus. Protams, ja ir zināms, ka visi izvadāmie
attēli ir vienāda izmēra, tad nav problēmu.
Pie izmēra iespējams tikt tikai defoltajam attēlam (tai lietotāja
bildei, kas uzstādīta kā "noklusētā"), piemēram, $.journal.default_pic.width
un $.journal.default_pic.height
(no
jebkuras funkcijas, kas ietilpst Page
klasē vai tās apakšklasēs).
Bet ne šeit.
Lai izvadītu tekstu, ir tikai pavisam nedaudz jāpamaina iepriekš izmantotais kods.
function print_random_quote(){
var string[] quote;
$quote[0] = """«Not
all drugs are good, okay? Some are.. hmm.. great!»<br /><br
/><span class="autors">De | Phazz</span>""";
$quote[1] = """«I
just met a girl, who believes we can fly.»<br /><br /><span
class="autors">James</span>""";
$quote[2] = """«Nightmare
is my way to get prepared for the day.»<br /><br /><span
class="autors">De | Phazz</span>""";
$quote[3] = """«Par
ko es dzīvi nīstu? Par to, ka tā par īsu.»<br /><br /><span
class="autors">S'T'A</span>""";
$quote[4] =
"""«Imagine the worlds'
leaders on pills, then imagine the mornin' after.»<br /><br
/><span class="autors">The Streets</span>""";
$quote[5] = """«I
can feel megabytes of memories in my heart.»<br /><br /><span
class="autors">Bebel Gilberto</span>""";
var int randquote;
$randquote = rand(0, ((size $quote) - 1));
"""<span class="citats">$quote[$randquote]</span>""";
}
Nedaudz par funkciju rand()
.
Patiesībā ir divas funkcijas ar šādu nosaukumu – rand(int
high) : int
un rand(int low, int high) : int
. Abos gadījumos
tā, kā jau redzams, atgriezīs integer tipa vērtību – kādu nejauši
izvēlētu skaitli. Pirmajā gadījumā tas būs starp 1 un $high ieskaitot, otrajā – starp
$low un $high ieskaitot.