3

複数ページのフォームを作成する必要があり、ヘルパー関数に関する Pylons のドキュメントに従って CKAN でフォームを作成できるかどうか疑問に思っていましたか?

フォームを作成するための CKAN のドキュメントはありますか? 最善のアプローチを提案してください。

4

2 に答える 2

6

CKAN フォームは通常、ckan/templates/macros にあるいくつかのマクロをインポートします。form.html を見ると、そのアイデアが得られます。例の 1 つ (ckanext/example_idatasetform) もご覧ください。

基本的に、次のように、マクロをインポートして{% import 'macros/form.html' as form %}から、それらのマクロを使用してフォームを作成します。

{% block package_basic_fields_custom %}
{{ form.input('custom_text', label=_('Custom Text'), 
id='field-custom_text', placeholder=_('custom text'), 
value=data.custom_text, error=errors.custom_text, classes= ['control-medium']) }}
{% endblock %}   

私の知る限り、CKANでフォームを作成する方法に関する特別な文書はありません。ckan/templates/package にある関連するテンプレートを確認する必要があります。

于 2013-07-11T12:31:51.560 に答える
0

はい。CKAN 2.6.0a の組み込みフォーム要素マクロに関するドキュメントが のコメントにあり/usr/lib/ckan/default/src/ckan/ckan/templates/macros/form.htmlフロントエンド開発ガイドラインの テンプレート の下にもあります。

ドキュメントには、次の行を追加するように指示されていることに注意してください。

{% import 'macros/form.html' as form %}

ただし、( を使用して) 既存のテンプレートをオーバーライドする場合{% ckan_extends %}は、通常、このインポート行を追加する必要はありません。これは通常、既に配置されているか、親テンプレートに既に含まれているためです。

于 2016-01-27T18:13:27.847 に答える