2

カスタムの Joomla 3.0 管理者コンポーネントを構築していますが、その一部では、さまざまな種類のフィールドを挿入するためにいくつかの ajax 呼び出しが必要です。

ただし、メディア フィールドを挿入できませんでした。

通常の入力については、html を直接作成しました。エディターには次のコードを使用しました (抜粋を貼り付けただけです)。

$editor = JFactory::getEditor();
$html .= $editor->display($name, $value, '100%', '250px', 20, 20, true, $id);
echo $html;

Joomla の将来のバージョンで変更される可能性があるかなりの量の html と javascript があるため、Media フィールドの html コードを再作成しないことをお勧めします。私が使用できる JFactory:getEditor() に似た方法はありますか?

また、Media クラスのインスタンスを作成しようとしましたが、ajax 呼び出しを行うときに、アクセスできないと思われるフォーム オブジェクトが必要です (または、少なくとも取得方法がわかりません)。

$xml = '<field
    name="test"
    type="media"                        
/>';
$field = new SimpleXMLElement($xml);

$media = new JFormFieldMedia();
$media->setup($field,'');

echo $media->input;
4

2 に答える 2

1

JW ALL VIDEOS と呼ばれるビデオを実行する K2 用の拡張機能があります。それは無料です。ダウンロードして、学習目的でどのように行われているかを確認することをお勧めします。

http://www.joomlaworks.net/extensions/free-premium/allvideos

于 2013-08-10T15:14:41.913 に答える
0

メディア要素を追加する方法を理解することができました。これはまったく同じ入力選択ではないため、独自に作成しました。画像セレクターを呼び出すために、この関数を使用して JavaScript を介して呼び出すことで実行できました。

SqueezeBox.open('index.php?option=com_media&view=images&tmpl=component&asset=com_mycomponent&author=&fieldid=gallery_result' + field_id + '&folder=gallery',
            {
                size:
                        {
                            x: 800,
                            y: 500
                        },
                handler: 'iframe'
            }
    )

私が探していたものはまだ完全ではありませんが、十分に近いものです。

于 2013-08-16T10:45:36.883 に答える