3

Drupal 7 の Media モジュールに問題があります。私が作成したカスタム モジュールを除いて、サイト全体で問題なく動作します。このモジュールで使用されるフィールドは、サイトの残りの部分と同じテキスト形式を使用し、太字、表、すべての TinyMCE のものを適切にレンダリングします。しかし、どういうわけか、メディア プラグインによって挿入された画像を処理できません。

通常の記事のコンテンツ タイプを追加すると、問題なく動作します。モジュールによってレンダリングされたフィールドのみが解析されません。

だから - 私はフィールドを表示します:

   echo '<p class="product-section-content">' . $element['value'] . '</p>'."\n";

しかし、画像の代わりに次のようになります:

[[{"type":"media","view_mode":"media_large","fid":"71","attributes":{"alt":"","class":"media-image","typeof":"foaf:Image"}}]][[{"type":"media","view_mode":"media_large","fid":"63","attributes":{"alt":"","class":"media-image","typeof":"foaf:Image"}}]] 

このマークアップ タグを解析するには、何を呼び出す必要がありますか?

4

5 に答える 5

3

Mediaモジュール (1.x ブランチのみ) の場合、通常は media_filter 関数を使用できます

print media_filter(html);
于 2013-10-01T08:28:21.830 に答える
3

これは、デフォルトではアクティブ化されていない新しい入力フィルターが Media モジュールによって提供されるためです。このフィルターは、メディア タグを解析するために必要です。

に移動しadmin/config/content/formats、メディアで使用するテキスト形式を編集して、Converts Media tags to Markupそれぞれのチェックボックスを有効にする必要があります。

その後、それは動作します:)

于 2011-12-06T16:25:52.400 に答える
1

要素の値を出力するだけでなく、 render() 関数を使用する必要があるようです。

http://api.drupal.org/api/drupal/includes--common.inc/function/render/7

したがって、コードは次のようになります。

echo '<p class="product-section-content">'.render($element).'</p>'."/n";

あなたのモジュールについてもう少しコンテキストを持つのに役立ちます。この要素をテンプレート ファイルに出力しようとしていますか? あなたの目標は、要素のラッピング HTML を編集することだけですか? 等

于 2011-12-06T16:07:26.040 に答える