NewsManagerスニペットでページ分割を行うと、一ページ表示件数未満の記事件数だとSQLエラーが起こります。
原因は、for文にて(&nrpostsで指定した)表示件数必ずループ処理をするので、空データでアップデートが行われSQLエラーが発生するためです。
データが空であればfor文を抜ける処理を加える対策で解決することにします。
というか、全件取得してるようなので…offset、limitで取得するように根本修正したいところです。
NewsManager.txtの320行目辺り
修正前:
// For all articles
for ($x = $start; $x < $stop; $x++, $rownum++) {
if ($resource[$x]['createdby'] < 0) {
修正後:
// For all articles
for ($x = $start; $x < $stop; $x++, $rownum++) {
if(empty($resource[$x]['id'])) { break; } // この処理を追加
if ($resource[$x]['createdby'] < 0) {
これで、1ページ10件とかにしててまだ10件に満たない場合でも、NewsManagerスニペットのpaginateが正しく動作するよーになりますデス!
かなり初歩的なエラーなのに、いまだに直されてないってゆーのはNewsManager自体があまり使われてないってことなのかな?
今日はあと、ウェブユーザの場合のTinyMCE画像アップのプラグイン作成(大した物じゃない)、リンクのLink Listカスタマイズとかしてました。
特に、ウェブユーザでリンクをしようとすると「一覧から選ぶ」というtreeが無くて不便だし(リンクをコピペしなきゃなのは、分かってる人間ほど不便過ぎるし、分からない人にはお手上げだ)、表示しただけでは[~123~]となってポストした後のリンクが正しくないので、ウェブユーザの場合はリソースID(/123など)または優先してエイリアス(/aboutなど)で入るようになりましたとさ。
とにかく、エンドユーザにより易しい管理ページ提供をできるよーに奮闘中!
原因は、for文にて(&nrpostsで指定した)表示件数必ずループ処理をするので、空データでアップデートが行われSQLエラーが発生するためです。
データが空であればfor文を抜ける処理を加える対策で解決することにします。
というか、全件取得してるようなので…offset、limitで取得するように根本修正したいところです。
NewsManager.txtの320行目辺り
修正前:
// For all articles
for ($x = $start; $x < $stop; $x++, $rownum++) {
if ($resource[$x]['createdby'] < 0) {
修正後:
// For all articles
for ($x = $start; $x < $stop; $x++, $rownum++) {
if(empty($resource[$x]['id'])) { break; } // この処理を追加
if ($resource[$x]['createdby'] < 0) {
これで、1ページ10件とかにしててまだ10件に満たない場合でも、NewsManagerスニペットのpaginateが正しく動作するよーになりますデス!
かなり初歩的なエラーなのに、いまだに直されてないってゆーのはNewsManager自体があまり使われてないってことなのかな?
今日はあと、ウェブユーザの場合のTinyMCE画像アップのプラグイン作成(大した物じゃない)、リンクのLink Listカスタマイズとかしてました。
特に、ウェブユーザでリンクをしようとすると「一覧から選ぶ」というtreeが無くて不便だし(リンクをコピペしなきゃなのは、分かってる人間ほど不便過ぎるし、分からない人にはお手上げだ)、表示しただけでは[~123~]となってポストした後のリンクが正しくないので、ウェブユーザの場合はリソースID(/123など)または優先してエイリアス(/aboutなど)で入るようになりましたとさ。
とにかく、エンドユーザにより易しい管理ページ提供をできるよーに奮闘中!