Joomla-CLI-Scriptから呼び出されるヘルパーを使用しています。このスクリプトでは、JTable :: storeを使用してデータベースにアイテムを追加します。
保管プロセスで、データベースに保管されていないいくつかのJINPUT値をチェックしています。入力は、fields.xmlで定義したフィールドから取得されます。
これはこれまでのところ私のソースです:
/**
* generateItem function.
*
* @access public
* @param mixed $jsontable
* @param mixed $ids
* @return void
*/
public function generateItem($jsontable, $ids)
{
$app = JFactory::getApplication();
$input = $app->input;
$input->set('creationdate', JFactory::getDate()->toSql());
// Lets store it!
$row = JTable::getInstance('Item','BestiaTable');
$row->check();
$store = $row->store();
if($store == true) return $row->id;
else return false;
}
さて、今私は次の問題を得ました:アイテムISフェッチ可能なJTable::store
と
$jinput = JFactory::getApplication()->input;
var_dump($jinput->get('creationdate'));
CLI経由で実行した場合-しかし、admin-backend経由でアイテムを保存した場合(CLIを使用せずに手動でアイテムを作成するフォームがあります)、var_dumpにNULLが表示されます。
その問題を解決する可能性はありますか?
事前にLOTに感謝します! :-)
入力からのデータをTableObjectにバインドするためのソリューションを見つける必要があります。
$dataToStore=array('creationdate'=> $input->get('creationdate'));
$row = JTable::getInstance('Item','BestiaTable');
// BIND DATA TO THE TABLE OBJECT!!!
$row->bind($dataToStore);
$row->check(); // please write an check method which checks the datas before store!
$store = $row->store();