そうなんですか、=などは使えないんですね、知りませんでした。
ということでZeRoさんのコードをお借りしたものに置き換えてみました。ZeRoさん、すいません(^_^;)
<?php
$placeholders['newicon'] = array("editedon,createdon,pub_date","whatsNew");
$newDays = isset($newDays) ? $newDays : 7;
$newPerDate = isset($newPerDate) ? $newPerDate : 0;
$order = array("|xq|", "|xe|", "|xa|");
$replace = array("?", "=", "&");
$newMark = isset($newMark) ? str_replace($order, $replace, $newMark) : "NEW!!";
$GLOBALS['ditto_newicon'] = compact("dateSource","newDays","newPerDate","newMark");
if (!function_exists("whatsNew")) {
function whatsNew($resource) {
global $modx, $ditto_newicon;
$now = ($ditto_newicon["newPerDate"] == 1) ? mktime(0,0,0,date("n"),date("j"),date("Y")) : time();
$timestamp = ($resource[$ditto_newicon["dateSource"]] != "0") ? $resource[$ditto_newicon["dateSource"]] : $resource['createdon'];
$erapse = $now - (intval($timestamp) + $modx->config["server_offset_time"]);
if ($erapse <= $ditto_newicon["newDays"]*60*60*24) {
return $ditto_newicon["newMark"];
}
return "";
}
}
?>
pieXと同じように&newMarkで
はそれぞれ、
に置き換えれば使えるようになります。
例えば、
<img class="new" src="/images/new.png" alt="new" />
は
<img class|xe|"new" src|xe|"/images/new.png" alt|xe|"new" />
という感じに置き換えます。
ついでに、
で日にち単位で計算するようにしました。何も指定しなければ現在時刻から計算します。