Sziasztok!
Kezdő Drupalosként módosítottam a node.tpl.php-t, mert hirtelen nem találtam más megoldást a dátumkezelésre:
<?php switch($language){ case "hu": print '<span class="date">'.format_date($node->created, 'custom', "Y. F j., l").'</span> '; break; default: //english print '<span class="date">'.format_date($node->created, 'custom', "D F j, Y").'</span> ';; } // switch ?>
Tudom, hogy nem jó így, mert más nyelvekre manuálisan kell módosítani, sminkfrissítésnél újra be kell írni stb. De működik.
Szóval ez mennyire gáz? Biztos van jobb/elegánsabb/szebb/stb. megoldás.
Ti hogy csinálnátok/csináljátok?
Köszi!
Drupal verzió:
Fórum:
végülis működik nem?
akkor meg hibátlan! :)
a megoldásoddal az a probléma (klasszik template butchering), hogy eltöri a drupal néhány funkcióját, például azt a képességet, hogy a beküldés dátumának kiírását a sminkbeállításoknál lehet tartalomtípusonként engedélyezni/tiltani. nagy gáz lehet később az is, ha például több node-TYPE.tpl.php is van a sminkedben, akkor ezt a megoldást mindegyikben alkalmaznod kell és "karbantartani".
a "drupalish" megoldás az lenne, ha a sminked template.php -jában a theme_node_submitted sminkfüggvényben végeznéd ezt a módosítást.
itt a dokumentáció és eredeti fgv:
http://api.drupal.org/api/function/theme_node_submitted/6
így kéne a template.php -ban:
hogy működjön, ürítened kell a smink regisztrációs tárat!
-
clear: both;
Köszi,
ki is próbálom :)
Védd az állatokat! ;)
na kipróbáltam,
ahogy mondtad, de sajna nem történik semmi.
A sminkem bizonyos Marinelli (http://drupal.org/project/marinelli).
A http://api.drupal.org/api/function/theme_node_submitted/6 linken megadott mintakódot is kipróbáltam: szintén semmi változás.
Van egy gyanúm viszont: az eredeti smink node.tpl.php-jában van ez a kódrészlet:
Eredetileg én is csupán ezt írtam át.
De ez nem azt jelenti, hogy már az eredeti smink is a "template butchering" méltán szidott módszerével van elkészítve? Azaz én hiába babrálom a template php-t, semmi nem fog történni?
Vagy rosszul értelmezek (újra) valamit?
Védd az állatokat! ;)
át kell írnod akkor a node.tpl.php -ban is
hogy ne az eredeti legyen, hanem helyette ez:
és amikor először beírod a theme_node_submitted() sminkhurkot a template.php -ba, akkor utána ürítened kell a smink regisztrációs tárat ám.
-
clear: both;
Ez a végleges kód
Kedves aboros!
A kódod kitűnően megy, csak a nyelvhivatkozást kellett átírnom, szóval a végleges:
Még1x köszi!
PS:
A smink regisztrációs tárat nekem nem kellett bántanom, anélkül is ment. Nekem itt: admin/settings/performance minden le van tiltva, azért? Vagy a smink regisztrációs tár egy más(hol beállítandó) dolog?
Védd az állatokat! ;)
Smink reg. tár
A smink regisztrációs tár azt jelenti, hogyha létrehozol egy új fgv-t a template.php-ban, vagy módosítód az info fájlt, akkor a változások nem történnek meg addig amég azt nem üríted.
Tehát pl. ha létre akarsz hozni egy új régiót a blokkoknak az info fájlban, akkor nem fogod látni ameddig nem üríted. De ugyanez történik, ha egy új fgv-t hozol létre a template.php-ban (esetünkben a phptemplate_node_submitted() fgv-t).
Pl úgy tudod üríteni a tárat (legalábbis én úgy így szoktam), hogy bemegyek a sminkek beállítási oldalára (admin/build/themes), és nyomok egy mentést.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/