infoで同日の記事を複数投稿すると一件しか表示されない

カテゴリ 【CMS】通常版(不動産・中古車販売など)
タイトル infoで同日の記事を複数投稿すると一件しか表示されない
質問者 宮嶋さん (2496)
質問日時 2024/01/29 10:23 回答数 1
メディア共有 このエントリーをはてなブックマークに追加
質問内容

CMS管理ページからinfoの記事を投稿する際、
複数の記事の「日付」を同じ日に設定すると、なぜかトップページに一件しか表示されなくなります。
別の日に設定し直すと表示されますが、複数の記事を同じ日で設定したいです。
解決方法をご教示ください。

質問に回答するには、ログインしてください。

回答(1件)

回答者:
q19cms担当者さん (2341)
回答日時:
2024/01/29 10:54
ファイル:
indexphp20240129.zip

ご不便をおかけしており、申し訳ありません。

本件は、最新の試用版で対策済みですので、試用版をダウンロードしていただき、その中のindex.phpと置き換えてください。
※同じものを回答に添付しています。
ご利用のindex.phpが修正されている場合は、その修正をもう一度行ってください。
ダウンロードURL:
https://q19cms.com/files_m/cms_s_car/siyou.html

もし、現在のものを修正する場合は、次のように修正してください。
388行付近の処理を入れ替える。
// ------------------------------------- ここから
// お知らせ
function get_newinfo($max=10)
{
global $DB_URI;

$sql = "select * from info where open=1 and kind=" . INFO_RSS;
$inst = DBConnection::getConnection($DB_URI);
$ret = $inst->search_sql($sql);
$list = array();
if ($ret["count"]) {
foreach ($ret["data"] as $val) {
$item = get_setup(INFO_RSS, $val["info_id"]);
if ($item["open"]) {
$item["reg_date"] = $val["reg_date"];
if (newflag(-1, $item["rss_date"])) {
$item["new_flag"] = "1";
}
if (!$item["rss_date"]) {
$item["rss_date"] = $item["reg_date"];
}
$t = strtotime($item["rss_date"]);
while (1) {
if ($list[$t]) {
$t++;
} else {
$list[$t] = $item;
break;
}
}
}
}
}
// 並べ替え
$rss = array();
if ($list) {
$count = 0;
krsort($list);
foreach ($list as $val) {
$val["rss_date"] = substr($val["rss_date"], 0, 4) . "/" . substr($val["rss_date"], 5, 2) . "/" . substr($val["rss_date"], 8, 2);
$rss[] = $val;
$count++;
if ($count >= $max) {
break;
}
}
}
return $rss;
}
//-------------------------------------ここまで

ファイルの最後に追加
// ------------------------------------- ここから
function newflag($new, $date)
{
if (defined("NEW_DAYS") && NEW_DAYS) {
$t = intval((time() - strtotime($date)) / 86400);
if ($new < 0) {
if ($t < NEW_DAYS) return 1;
} else if (defined("NEW_OR")) {
// OR(新着または設定日数以内の場合)
if ($new || ($t < NEW_DAYS)) return 1;
} else if (defined("NEW_AND")) {
// AND(新着かつ設定日数以内の場合)
if ($new && ($t < NEW_DAYS)) return 1;
} else {
// 自動判定のみ
if ($t < NEW_DAYS) return 1;
}
} else {
// 新着設定のみ
if ($new > 0) return 1;
}
return 0;
}
//-------------------------------------ここまで

修正部分は、添付index.phpからコピーしていただくと間違いが無いです。
既に対応済みのindex.phpに上記修正を行うとエラーになりますので、ご注意ください。

もし、修正がうまくゆかない場合は、ファイルをお送りいただければ、修正して返送します。

送り先:cms@q19cms.com
※このメールアドレスで直接の質問は受け付けておりません。


1件中 1 ~ 1