問題タブ [dexterity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
260 参照

full-text-search - Dexterity NamedBlobFile の内容を SearchableText に追加する

フィールドの 1 つとして NamedBlobFile を持つ器用さコンテンツ タイプを作成しました (ユーザーは .pdf をアップロードします)。ATFile タイプのように、その pdf に全文索引を付けたいのですが、それを実現するために何をしなければならないかわかりません。

私は Collective.dexteritytextindexer をインストールし、これを行うことで検索可能なテキストに追加された他のフィールドのいくつかを取得しました:

ファイル フィールドをどうすればよいかわかりません。提案?

0 投票する
2 に答える
214 参照

plone - 器用さベースの contenttype を軽量化する方法

Facebook の投稿と同様に動作する軽量のコンテンツ タイプを作成しようとしています。

  • コンテンツ スキーマ全体は単なるテキスト フィールドです。タイトル、説明はありません。

  • Contentish である必要があり、CMFCore によって管理されます。標準的な方法でコンテンツを作成/閲覧できるように、ポータルタイプである FTI が必要です。カタログ対応です。

  • それらは相互に関係/参照を持ちます。

  • オブジェクトの数は膨大になり、10 ~ 100M になります。

これに最も似ているのは、コメント オブジェクト (plone.app.discussion) です。plone.app.discussion を調べたところ、低レベルの基本クラスが多すぎて、コンテンツの実装が非常に複雑であることがわかりました。ほとんどの部分で、私はそれをまったく理解していないか、コメントのユースケース以外では再利用できず、参照/サンプルの価値がほとんどありません。

だから私が尋ねたいのは、 plone.app.discussion が通過した低レベルのパスと比較して、高レベルのフレームワークパスに行くと、どのくらいのオーバーヘッドになるのでしょうか?

0 投票する
1 に答える
414 参照

plone - 巧妙なドキュメントのコンテンツ タイプを制限する

私は、さまざまなドキュメントがたくさんあるウェブサイトをやっています。彼らはあらゆる種類のフィルターなどを実行したいので、そのようにする必要があります。

それは多くの構造を持つ非常に大きな会社であるため、コンテンツの石の階層が本当に設定されています.

そうすれば、一部のフォルダー内でのみ、ある種のコンテンツタイプが必要になります。

私がそれを機能させた唯一の成功した方法は、コンテンツタイプごとにグローバルに追加可能なフォルダーのようなコンテンツタイプを作成することでした.

したがって、彼らの FTI 定義では (グローバルに追加可能なフォルダーのようなコンテンツ タイプについて):

「新規追加...」ドロップダウンに「コンテンツタイプの制限」が表示されていましたが、これは私の場合、22個のコンテナとさらに22個のコンテンツタイプがあるため、非常に役立ちますが、その「コンテンツタイプの制限」では1 つのコンテナーと 22 のコンテンツ タイプしかありません。

Dexterityでそれを行う方法はありますか?

0 投票する
1 に答える
736 参照

forms - MultiContentTreeFieldWidgetのように機能するが、アイテムの順序を保持するPloneフォームウィジェットを作成する方法

アイテムを関連付け、その関係をUUIDとして保存できる器用さの動作があります

これは、いくつかのリレーションがある場合、アイテムを編集するたびに順序が変わることを除いて、うまく機能します。ページの右側の列に関連アイテムを表示しており(たとえば、食品に関するこの記事を参照)、より興味深いティーザーを最初に配置できるように順序を制御したいと考えています。

デバッグでは、この並べ替えは、z3c.formwidget.query.widget.QuerySourceRadioWidget.updateリクエストパラメータを処理するときにセットを使用するという事実に起因している可能性があります。おそらくこれは重複を防ぐためですが、2つの厄介な副作用があります。

  1. フィールドの値は、変更されていないときに更新されます
  2. 重要な場合は順序が失われます

MultiContentTreeFieldWidget同様に機能するが、アイテムを追加する順序を保持する代替手段はありますか?さらに良いのは、これを実行し、アイテムを並べ替えることもできるウィジェットがありますか?

0 投票する
3 に答える
734 参照

plone - 新しいインターフェースで器用さのコンテンツタイプをマークするための推奨されるアプローチ

器用さベースのプロジェクトに取り組んでいる間、IQuickUploadCapableインターフェイスでマークすることにより、collective.quickuploadをサポートするコンテンツタイプの1つが必要でした。

私が現在行っているのは、configure.zcmlファイルに「実装」を追加することです。

私のコンテンツタイプはコンテナなので、これは機能しますが、私の最初の傾向は、ZCMLで宣言するのではなく、grokスタイルのアプローチを使用することでした。追加のインターフェースを実装していることを器用さのコンテンツタイプに伝えるためのgrok/器用さの方法は何ですか、または現在のアプローチに固執する必要がありますか?

また、ファイルにビヘイビアーとしてインターフェースを追加しようとしましたprofiles/default/types/my.dexterity.content.xmlが、これは機能しませんでした(ビヘイビアーが別の目的を果たすため、実際には期待していませんでした)。

0 投票する
2 に答える
560 参照

templates - 器用さタイプに新しいビューを追加すると、「ページが見つかりません」表示アイテムが発生します

私は最近のProfessionalPlone4 Developmentの本で、Plone4.1.2のインストールに取り組んでいます。

Dexterityを介してコンテンツタイプを正常に定義し、現在、タイプの1つに対してカスタムビューを作成しようとしています。スキーマとビューは次のように定義されます。

タイプのFTIの関連セクションは次のとおりです。ビューFalse

そして、ctcc.contenttypes /trial_templates / view.ptにあるテンプレート自体は、タイトルと説明を表示するだけです。

これらすべてが整った状態でこのタイプのインスタンスにアクセスすると、「ページが見つかりません」というエラーが発生します。何かが新しいビューを期待されたパスに結び付けていないようですが、これはPloneでの最初の週なので、どこからこれを追跡し始めるのかわかりません。フォアグラウンドモードでサイトを実行してもエラーは発生しません。

どんな助けでも大歓迎です。

0 投票する
2 に答える
1599 参照

plone - Plone Dexterity の INameFromTitle 動作を拡張する方法はありますか?

私が取り組んでいるプロジェクトでは、Plone の素晴らしい Dexterity プラグインを使用しています。いくつかのカスタム コンテンツ タイプには、計算する必要がある非常に具体的な名前があります。私が以前にこれを達成した方法は、マニュアルの指示に従って、オブジェクトの一般的なセットアップ エントリの動作としてplone.app.content.interfaces.INameFromTitleを追加することでした。

次に、INameFromTitle を提供するアダプターを作成しました。

この方法は、このブログ投稿で提案されている方法と非常によく似ています。

http://davidjb.com/blog/2010/04/plone-and-dexterity-working-with-computed-fields

残念ながら、この方法は plone.app.dexterity ベータ版以降は機能しなくなり、コンテンツ アイテムに適切な名前が割り当てられなくなりました。

Dexterity の INameFromTitle 動作を非常に具体的なネーミングのユースケースに拡張する方法を知っている人はいますか?

あなたの助けは大歓迎です、ありがとう!

0 投票する
2 に答える
620 参照

plone - カスタム ウィジェットでの語彙関連のエラー

参加者と基準の 2 つの Dexterity コンテンツ タイプがあります。後者は、プロジェクトへの参加者の参加を決定するために使用されます。基準はRelationListとして Participant に保存されますが、デフォルトのピッカー ウィジェットをチェックボックス ベースのウィジェットに置き換えたいと考えています。正しい基準をチェックボックスとして表示する基準フィールドに割り当てるカスタム ウィジェットを作成しましたが、検証時に次のエラーが表示されます。

私は次のようにウィジェットを定義しました:

次に、参加者の器用さタイプでは、フィールドは次のとおりです。

エラーの性質を考慮して、ObjPathSourceBinderソースを基準のカスタム語彙に置き換えて、正しいインターフェイスを持つオブジェクトを返すことを望んでいましたが、そのソリューションを使用してもまったく同じエラーが発生しています。

更新:提案されているように、SimpleVocabulary で用語リストをラップしましたが、問題がシフトするだけです。kss_z3cform_inline_validationでエラーが発生していることに注意してください。

0 投票する
1 に答える
1031 参照

plone - Plone 4 の Dexterity を使用したカスタム AddForm テンプレート

Dexterity コンテンツ タイプでカスタムの追加フォームを表示するのに問題があります。私は以前の製品ですでにこれを行っていますが、驚くべきことに、Plone 4.1 と plone.app.dexterity 1.0.3 を使用してこれを達成することはできません。

package.name.types.contact.py にある私の CrmContact コンテンツ タイプのスキーマは、次のように定義されています。

私のテンプレートは package/name/types/contact_templates にあります。典型的なテンプレートです。例外を発生させるために、tal:content を使用して存在しないメソッドを呼び出すダミー ノードがあるため、レンダリングされていないことはわかっています。したがって、テンプレート自体は問題ではないと確信しています。

コンテンツ タイプ FTI はインストール中に正しく登録され、コンテンツ タイプは利用可能で追加可能です。

最後に、profiles/default/types.package.name.types.contact.xml で:

関係ありませんが、ここに何か追加する必要があるかもしれません...

ご覧のとおり、正しい手順に従ったと思いますが、まだ機能させることができません。

updateWidgets() メソッドを提供してブレークポイントを挿入すると、それが呼び出されるため、クラス Add がインスタンス化されることはわかっています。オブジェクトをイントロスペクトすると、self.template は None です。それでも:

カスタム タイプの追加フォームにカスタム テンプレートを提供するにはどうすればよいですか?

0 投票する
1 に答える
212 参照

search - plone でのカスタム タイプの検索

私は plone でコミュニティを設定する任務を負っています。巧妙に作成されたカスタム コンテンツ タイプがいくつかあります。問題は、すべてのフィールドを検索する方法がわからないことです。サイト設定 -> 検索で、関連するすべてのオプションを選択しましたが、何かが足りないようです (あまり明白でないことを願っています)。

問題の簡単な例:

カスタム データ タイプ「レシピ」があります。これには、デフォルト フィールド「タイトル」と「説明」、テキスト ボックス「材料」があります。たとえば、ベーコンを含むすべてのレシピを検索できるようにしたいと考えています。これを行う方法がわかりません。現在、タイトルと説明のみが検索可能です。