アクション フックに依存せずに、SugarCRM サブパネルに表示されるコンテンツを変更する方法はありますか?
現在、サブパネル フィールドのコンテンツを編集するには、次のようなフックを使用する必要があります...
$hook_array['process_record']
そして、呼び出すフックを割り当てた Class メソッドで、サブパネルのフィールドを次のように変更できます...
$bean->name = '<a href="/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3Dproje_Web_Project_Tasks%26action%3DDetailView%26record%3D'
.$bean->id.'" rel="popover" data-content="'
.$bean->description.'" data-original-title="">'.$bean->name.'</a>';
この方法で私たちが抱えている主な問題は、これらのアクションのいずれかを実行するまでうまく機能することです....
- クイック作成フォームを使用してアイテムを追加する
- サブパネルのページング ボタンを使用してページを変更する
いずれの場合も、データに対してこのフック コードを実行せずにサブパネル データをリロードするため、編集したサブパネル フィールドが編集されなくなり、通常どおり表示されるため、結果は非常に重要です。
これは基本的な例です...これは、上記のフック方法を使用して編集された2〜3個のフィールドを示しています...
サブパネルで新しいレコードをページングまたはクイック作成した後、サブパネルのデータをリロードし、フックされたコードを適用しないため、結果が次のようになることがわかります...
ListView
同じ編集を適用して常に機能させることができる方法を使用して、コンテンツを編集するためのはるかに信頼性が高く柔軟な方法があることを私は知ってget_list_view_data()
います!
サブパネルデータを編集する同様の方法があり、常にそのデータに編集を適用することを望んでいますか? 私がこれまでの研究で見てきたことから、常に期待どおりに機能する唯一の解決策は、完全に新しいCustom Field Type
!
サブパネルで編集する必要があるフィールドの種類ごとにそれを行うのは大きな苦痛であり、サブパネル以外の他のすべてを編集する簡単な方法がある場合は気分が悪いので、それが唯一の方法ではないことを本当に望んでいますデータ。
過去数か月で SugarCRM を使用して開発を開始して以来、これが主な問題であるため、この問題について共有してください。