ユーザーがテキストボックスにクエリを入力し、drupalgapのボタンをクリックして、テキストを(オートコンプリートなしで)検索するビューページを作成し、結果にフラグリンクを設定したいdrupalgapビューのドキュメントページ公開されたフィルター http://docs.drupalgap.org/7/Views/Views_Exposed_Filters 「独自のフォームの構築と独自のURLパラメーターの構築」について説明されていますが、その例はありません。そのような使用例/チュートリアルはありますか?前もって感謝します、
更新:これは私が私のフォームを定義する関数です:
function form_custom_form(form, form_state) {
try {
form.elements['name'] = {
type: 'textfield',
title: 'Kart No',
required: true
};
form.elements['submit'] = {
type: 'submit',
value: 'Ara'
};
form.elements['my_markup'] = {
markup: '<ul id="arac_getir2_view" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow"></ul>'
};
return form;
}
catch (error) { console.log('my_module_custom_form - ' + error); }
}
これは動作するコードです:
function form_custom_form_submit(form, form_state) {
form_value = form_state.values['name'];
form.elements['my_markup'] = {
markup: '<ul id="arac_getir2_view" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow"></ul>'
};
arac_getir2_pageshow();
}
/*catch (error) { console.log('form_custom_form_submit - ' + error); }*/
function arac_getir2_pageshow() {
var path_to_view = 'arac_getir';
views_datasource_get_view_result(path_to_view, {
success: function (data) {
if (data.nodes.length > 0) {
var items = [];
$.each(data.nodes, function(index, object){
var node = object.node;
items.Push(
l(node.title, '#') +
flag_quick_link(
'ara_getir', // The flag's machine name.
'node', // The entity type.
node.nid, // The entity id.
parseInt(node.flagged) ? true : false // The current flag status.
)
);
});
console.log(items);
drupalgap_item_list_populate('#arac_getir2_view', items);
}
}
});
}
これはそうではないものです:
function form_custom_form_submit(form, form_state) {
form_value = form_state.values['name'];
arac_getir_page();
}
function arac_getir_page() {
try {
var content = {};
content['arac_list'] = {
theme: 'view',
format: 'ul',
format_attributes: {
/*'data-inset': 'true',*/
'data-split-icon': 'star' /*the icon to use for the flag button */
},
path: 'arac_getir', /* the path to the view in Drupal */
row_callback: 'arac_getir_list_row',
empty_callback: 'arac_getir_list_empty',
attributes: {
id: 'arac_getir_view',
'data-filter': 'true',
}
};
return content;
}
catch (error) { console.log('arac_getir_page - ' + error); }
}
/**
* The row callback to render a single row.
*/
function arac_getir_list_row(view, row) {
try {
return l(row.title, 'node/' + row.nid) + row.field_kart_no +
flag_quick_link(
'ara_getir',
'node',
row.nid,
parseInt(row.flagged) ? true : false
);
}
catch (error) { console.log('arac_getir_list_row - ' + error); }
}
/**
*
*/
function arac_getir_list_empty(view) {
try {
return t('Kart bulunamadı');
}
catch (error) { console.log('arac_getir_list_empty - ' + error); }
}
最初にカスタムフォームを作成できます: http://docs.drupalgap.org/7/Forms/Creating_a_Custom_Form
次に、その送信ハンドラーでViews Render Arrayを作成し、フォーム上の待機中のdivプレースホルダー要素(マークアップウィジェット)に挿入します。
http://docs.drupalgap.org/7/Views/Displaying_a_View/Views_Render_Arrayhttp://docs.drupalgap.org/7/Forms/Form_Elements/Element_Markup
または、送信ハンドラに引数のあるページに移動させる: http://docs.drupalgap.org/7/Pages/Page_Arguments
次に、そのページのpage_callback
は、Views Render Arrayを構築し、検索文字列をビューのコンテキストフィルターとして使用できます。