我一直在做一场噩梦,试图理解 Drupal 的方式!我在这里有一个例子,如果有人可以向我展示实现我的结果的正确方法,我希望它能帮助我打开理解之门。
所以我试图改变节点创建日期,使其看起来类似于堆栈溢出格式。EG 这是“X 小时前发布”或“8 月 17 日 12:22 发布”等。
我已经设法使用“node.tpl.php”文件创建了预期的效果。我已经使用节点变量“$created”和以下代码实现了这一点。
$showCreate = round((time() - $created) / 60);
if ($showCreate < 60) {
$showCreate = $showCreate . "mins ago." ;
} else {
$showCreate = round($showCreate / 60);
if ($showCreate > 24) {
$createMonth = format_date($created, 'custom', 'M');
$createDate = format_date($created, 'custom', 'd');
$createTime = format_date($created, 'custom', 'H:i');
switch ($createDate) {
case 1:
case 21:
case 31:
$createDate = $createDate . "st";
break;
case 2:
case 22:
$createDate = $createDate . "nd";
break;
case 3:
case 23:
$createDate = $createDate . "rd";
break;
default:
$createDate = $createDate . "th";
break;
}
$showCreate = $createMonth . " " . $createDate . " at " . $createTime;
} else {
$showCreate = $showCreate . "hrs ago." ;
}
}
这是实现这一目标的“正确”方法吗?或者你会使用一些钩子和预处理函数吗?我更愿意将它包装成一个 MOdule,这样我就可以将它直接应用到我的其他 drupal 站点。
提前非常感谢。