Architectを使用してSenchaTouchを使い始めたばかりで、PHPを使用してMySQLデータベースからJSONにリストを入力しようとしています。アーキテクトにスクリプト生成を任せましたが、実行時にデータを入力/表示することができないようです。私は何かが足りないと確信しているので、助けていただければ幸いです。以下は、サポートするコードスニペットです。
提供されるPHP:
<?php//MySQL Database Connect
include 'andaerologin.php';
mysql_select_db("andaero");
$sql = mysql_query("select * from regulatory_list");
$output = array();
/* used "key" as name */
$output['listTitle'] = 'Regulatory_Guidance_Library';
$output['targetKey'] = 'bodyContent';
while ($row = mysql_fetch_assoc($sql)) {
$output['items'][] = $row;
}
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
echo(json_encode($output));
mysql_close();
?>
自動生成されたapp.js:
Ext.Loader.setConfig({
enabled: true
});
Ext.application({
models: [
'ListDefaultModel'
],
stores: [
'ACListStore'
],
views: [
'ViewPort'
],
name: 'MyApp',
launch: function() {
Ext.create('MyApp.view.ViewPort', {fullscreen: true});
}
});
生成されたモデル(ListDefaultModel.js):
Ext.define('MyApp.model.ListDefaultModel', {
extend: 'Ext.data.Model',
config: {
idProperty: 'listDefaultModel',
fields: [
{
allowNull: false,
name: 'label',
type: 'string'
},
{
name: 'title',
type: 'string'
},
{
name: 'discription',
type: 'string'
}
]
}
});
ストア(ACListStore):
Ext.define('MyApp.store.ACListStore', {
extend: 'Ext.data.Store',
requires: [
'MyApp.model.ListDefaultModel'
],
config: {
model: 'MyApp.model.ListDefaultModel',
storeId: 'ACListStore',
proxy: {
type: 'ajax',
url: 'http://192.168.1.34/andaero/php/regulatory_list.php',
reader: {
type: 'json',
rootProperty: 'items'
}
}
}
});
ViewPort.js内のリストコンテナ:
. . .
xtype: 'list',
cls: [
'list-Container'
],
itemTpl: [
'<div>',
'<h1>label {script}</h1>',
'<h2>title {script}</h2>',
'<p>description {script}</p>',
'<hr/>',
'</div>'
],
scrollToTopOnRefresh: false,
grouped: true
. . .