Joomler!.net - Decided on Joomla!

デル株式会社

Wiki or Wordpress? No it is JContentPlus.

Home » Blog » $nullDate
1 votes
Written by:Joomler! 3838 hits Tuesday, 24 June 2008 16:35

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な判断をさせるのは少しおかしい気がします。

 

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社
joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.