カスタムコンポーネントを開発しました。当初、Joomla 1.5 には、テーブルからテンプレートにデータを送信するデータ配列があります。
class MyComponentClass extends JModel{
/**
* MyComponentClass data array for tmp store
*
* @var array
*/
private $_data;
/**
* MyComponentClass data array for tmp store
*
* @var array
*/
private $_mine;
/**
* Gets the data
* @return mixed The data to be displayed to the user
*/
public function getData(){
if (empty( $this->_data )){
$id = JRequest::getInt('id', 0);
$db =& JFactory::getDBO();
$query = "SELECT * FROM `#__tourinfo` where `id` = {$id}";
$db->setQuery( $query );
$this->_data = $db->loadObject();
}
return $this->_data;
}
public function getMine(){
if (empty( $this->_mine )){
$recordSet =& $this->getTable('mytable');
$db =& JFactory::getDBO();
$query = 'SELECT * FROM `#__mytable` WHERE ' . (isset($recordSet->published)?'`published`':'1') . ' = 1 ORDER BY `id` ';
$this->_mine = $this->_getList( $query, $this->getState('limitstart'), $this->getState('limit') );
}
return $this->_mine;
}
}
ドキュメントによると、テンプレートに情報を送信する $_data 配列のみを見てきました。
このモデルは、単一レコード ビューのデータを送信します。
他のテーブルには、このレコードに関連付けられているデータがあります。
テンプレートにデータを受信しようとすると、foreach にデータが提供されていないというエラーが表示されます。
おそらく誰かがこの場合の解決策を知っています。
前もって感謝します!