feincms MediaFileをRichTextContentフォーム要素(ckeditorまたはtinyMCE)に挿入する標準的なソリューションはありますか?私はドキュメント内で何かを見つけることができませんでした...今ユーザは、medialibにURLを貼り付けて、ページに移動して貼り付ける必要があります。Feincms MediaFile in RichTextContent
6
A
答えて
2
あなたは、このための独自の実装を作成する必要があります。 dismissRelatedLookupPopupを上書きするのはちょっとハッキリですが、Djangoはより良い解決策をサポートしていないようです。
更新:このticketは、ポップアップの問題を説明しています。
'ckeditor'が存在する静的フォルダに、プラグインを作成します。
/app/
/static/
/app/
/js/
/ckeditor/
/plugins/
/feincms/
/images/
mediaFile.png
plugin.js
plugin.js
/**
* Basic sample plugin inserting a feincms mediaFile into the CKEditor editing area.
*/
// Register the plugin with the editor.
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.plugins.html
CKEDITOR.plugins.add('feincms',
{
// The plugin initialization logic goes inside this method.
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.pluginDefinition.html#init
init: function(editor)
{
// Define an editor command that inserts a feincms.
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#addCommand
editor.addCommand('insertMediaFile',
{
// Define a function that will be fired when the command is executed.
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.commandDefinition.html#exec
exec : function(editor)
{
// Define your callback function
function insertMediaFile(imageUrl) {
// Insert the imageUrl into the document. Style represents some standard props.
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#insertHtml
editor.insertHtml('<img src="/media/' + imageUrl + '" style="float:left;margin-right:10px;margin-bottom:10px;width:200px;" />');
}
var imageUrl;
window.dismissRelatedLookupPopup = function (win, chosenId) {
imageUrl = $(win.document.body).find('#_refkey_' + chosenId).val();
insertMediaFile(imageUrl);
var name = windowname_to_id(win.name);
var elem = document.getElementById(name);
if (elem) {
if (elem.className.indexOf('vManyToManyRawIdAdminField') != -1 && elem.value) {
elem.value += ',' + chosenId;
} else {
document.getElementById(name).value = chosenId;
}
}
win.close();
};
var win = window.open('/admin/medialibrary/mediafile/?pop=1', 'id_image', 'height=500,width=800,resizable=yes,scrollbars=yes');
win.focus();
}
});
// Create a toolbar button that executes the plugin command.
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.ui.html#addButton
editor.ui.addButton('feincms',
{
// Toolbar button tooltip.
label: 'Insert MediaFile',
// Reference to the plugin command name.
command: 'insertMediaFile',
// Button's icon file path.
icon: this.path + 'images/mediaFile.png'
});
}
});
は、例えば、CKEditorバージョンのinitスクリプトにプラグインを追加してください
0
私は知りません。あなたは常に(時には)はRichTextContentに関連したMediaFileが必要な場合は、独自のコンテンツタイプを記述します。
from feincms.module.medialibrary.fields import MediaFileForeignKey
from feincms.content.richtext.models import RichTextContent
class RichTextAndMFContent(RichTextContent):
mf = MediaFileForeignKey(MediaFile)
class Meta:
abstract = True
def render(self, **kwargs):
...
+0
ありがとうございますが、それは本当に質問への回答ではありません – user2298943
関連する問題
- 1. Feincmsはコンテンツタイプを混合します
- 2. AudioStreaming a mediafile from web
- 3. 誰でもFeinCMSやメザニンの経験がありますか?
- 4. 地域内のFeinCMSコンテンツタイプを移動するオプションを無効にする
- 5. SQL:NOT IN INクエリ
- 6. SELECT ... WHERE IN IN JOIN
- 7. AS3 - for(... in ...)対(... in ...)
- 8. OSError in os.wait in python
- 9. LINQはIN INクエリー
- 10. struct in struct in struct
- 11. Facebook login in fragment in android
- 12. tcp/ip in ip in .net
- 13. Linqクエリで 'IN'& 'NOT IN'
- 14. PyGObject in Python 3 in windows
- 15. onmouseoverイベントin firefox in svg
- 16. Fetch in in ssl with android
- 17. LINQからEF4への "Not In In"
- 18. iOS 5.1 + UISctionViewController in PortraitMode + UIActionSheet in MasterController =アサーションエラー
- 19. 可能性:ansible_user in inventory vs remote_user in playbook
- 20. [WHERE、IN、LEN、IN] TSQLを使用
- 21. INとNOT INを含む句
- 22. matlab in C C++とC C++ in matlab
- 23. WordPress:変更するcomment_form(); $ defaults in plug-in
- 24. in-app
- 25. %in sql
- 26. Delphi:TWebBrowser in background-thread
- 27. ソケットプログラミングin java
- 28. for_each()in C++
- 29. Foreach in Linq
- 30. Help In Learning Prolog
これは私が思いついたことです... – user2298943