neděle 17. dubna 2011

.kotel v Semilassu, datum v Drupalu, kari a jiné příhody


.mám se skvěle


Duben se pomalu chýlí ke konci a já jsem vůbec neměla čas nic napsat. Ale mám se skvěle, protože:
  • jsem navštívila vtipný Drupal event, o kterém už na svém blogísku krásně rozkládala Jesisem. Takže už ani není tak trapné, že jsem o tom sem nestihla nic napsat. Aspoň že mám článek na LinuxExpresu.
  • jsem zrušila Komerční banku a Fio mi zatím naprosto vyhovuje
  • mám novou práci
  • byli jsme na vynikajícím koncertě Horkýže Slíže -- kotel přes celou místnost, všechno tam skákalo. Semilasso se opět solidně otřáslo v základech a po skončení jsme smrděli jak rasův pytel. Vynikající!
  • většinu volného času jsem věnovala svému novému webu, dokonce už ho znásilňuju i přes péhápé (tzv. lepení webu)
  • s mužem jsme byli vyzkoušet Curry bar -- a bylo to ňamííí!
Tak dost už o mně, jak se máte vy?



--
.užitečná poznámka pod čarou: #drrrrupal!

Q: Chci, aby se mi u příspěvku či jeho "teaseru" (náhledu např. na titulní straně) zobrazovalo datum a čas zveřejnění -- jak to vyřešit? A jak to udělat, když to nechci? -- Drupal 6.20

A: Zobrazování a skrývání věcí, které nejdou jednoduše naklikat přes administrační rozhraní, můžeme provést přepsáním souboru node.tpl.php (../themes/název_tématu/templates/node.tpl.php). Je v tom sice strašně moc otazníků, dolarů a krucánků, které člověka PHP neznalého dovedou zaskočit, ale všechno to má logiku.

Tohle je kousek, který způsobuje, že se datum a čas zobrazují nad každým příspěvkem a to zároveň v teaseru i v celém příspěvku.


Víte, osobně jsem PHP neznalá, lepím to dohromady metodou pokus omyl. Nicméně! Zjistila jsem následující: první odstavec s ($teaser) říká, že datum se má zobrazit "jen u teaseru", kdežto druhý s (!$teaser) říká, že datum se má zobrazit "jen v celém rozkliknutém příspěvku (tedy v teaseru ne!)".

Důležitý je tam ten kousek s vykřičníkem. To znamená, že v okamžiku, kdy nechcete, aby se vám zobrazovalo datum u teaseru, ale u příspěvku samotného ano, můžete smazat celý odstavec, pojednávající o situaci s vykřičníkem :) Platí to i naopak.

Když jsem byla u toho, rovnou jsem si změnila i zobrazování data. Defaultně (ve stavu format_date($node->created)));) se Drupalovo datum zobrazuje ve formátu 04/13/2011 - měsíc je zobrazen jako první.


My bychom tam chtěli mít nejdřív číslo dne, pak měsíc a nakonec rok. To znamená, že ve výše zmíněném kódu přepíšeme tento kousek format_date($node->created))); na format_date($node->created, 'custom', "d. F Y"))); a výsledkem bude například 13. duben 2011. Hlavně nemažte ty tři závorky na konci (před otazníkem), jsou fakt důležité.

O tohle se stará PHP funkce Date. Tečku za d tam mít nemusíte, ale já jsem ji tam připsala, funguje to. Proč to vypisuje Duben s velkým D, ale bohužel nevím, jde to nějak znásilnit, aby to bylo s malým? (EDIT: ano, znásilníme to pomocí funkce strtolower.)

No a takhle vypadá stav s datem v teaseru a stav bez data.


Užitečný zdroj: http://drupal.org/node/266730
Keywords: drupal date time teaser posted

Tak jsem si zagrafomanila a hned je mi líp. Třeba se to někdy někomu bude hodit, hlavně mně. Jen mám teď už zase strašnou chuť na nějaké to kari. #kruciprdel

/* Tyto poznámky pod čarou jsou sponzorovány Rionkou. Neberte si osobně, pokud se vám nelíbí -- jí se určitě budou hodit, až zase zapomene, HowTo. */