Home
Extensions
Joomla! CMS
Extensions
Joomla! CMS 6月
24
2008
記事の公開終了日時が公開日以前になる:Joomla!1.5.3
Joomla!1.5.3JPを新規インストールし、管理画面から新規にテスト記事を作成してみたら、記事の公開終了日時が公開日以前になってしまうではないか・・・。編集時にすでにそう表示されてしまっています。
なぜか、うちのテストサーバーでは正常です。ま、とりあえず応急策。
Joomla Root/administrator/components/com_content/controller.php
if (JHTML::_('date', $row->publish_down, '%Y') <= 1969 || $row->publish_down == $db->getNullDate()) {
$form->set('publish_down', JText::_('Never'));を以下のように変更した。
if ($row->publish_down == JText::_('Never') || JHTML::_('date', $row->publish_down, '%Y') <= 1969 || $row->publish_down == $db->getNullDate()) {
$form->set('publish_down', JText::_('Never'));これでとりあえず解決。
にしても、あらかじめわかっている結果までもJHTMLにつっこむってのはどうなんだろう。それか、"Never"を入れるのではなく、"nulldate"入れておけば、それでOKな気がするし、そうしておけば、nulldateで"Never"と表示すればいいわけで・・・。結局"nulldate"入れるんだし。
と、思って変更しましたが、これだと二度手間なので違う場所を変更します。上記のコードは、無視します。あらためて以下を
$row->publish_down = JText::_('Never');を
$row->publish_down = $nullDate;
に変更した方が無駄がありません。よく考えなくても”終了無し(Never)”の場合、データベースには$nullDate(0000-00-00 00:00:00)で登録される訳なのでこの方がスマートですし、先の方法では管理画面のランゲージを変更した場合に同じ条件にならない可能性がありますね。
※これは、私の環境でのみ発生した事象かもしれません。ちなみにランゲージを英語に変更すると正常に表示されます。ですが、各国の言語で”Never"を表現していてそれをJHTMLからdateな判断をさせるのは少しおかしい気がします。



































