web-dev-qa-db-ja.com

デフォルトのScald凡例またはキャプション出力を変更する

設定はどこかにあるはずですが、タイトルをデフォルトのキャプションにしたいだけです。作成者フィールドは無関係で、コンテンツを更新する人は毎回それを削除する必要があります。

Default caption appearance

更新:

[管理]> [構造]> [スカルド]> [画像(/ admin/structure/scald/image/player/full/image_figure)]に移動すると、そのプレーヤーのキャプションを変更できますが、デフォルトプレーヤーのキャプションは変更できません。

Scald.api.php hook_scald_player()にもフックが見つかりましたが、これは情報フックのように使用され、hook_scald_player_alter()を使用しても値は変更されません。

function mymodule_scald_player_alter(&$players) { // tried referencing
  $players['default']['settings']['caption'] = '[atom:title]';
  return $players; // tried returning
}
2
Duncanmoo

プレイヤーの設定は好きなだけ変更できるようですが、パターンはScaldモジュールの関数theme_sdl_editor_legend()にハードコーディングされているため、キャプションテキストは変更されません。

したがって、出力を選択したもので上書きする必要があります。

前述のテーマ関数は、themes functions.phpで上書きできます。おそらく、あなたはDrupalコアまたはコントリビュートされたテーマを管理テーマとして使用します。これらのtemplate.phpファイルは変更しないでください。したがって、推奨される方法は以下のとおりです(カスタムモジュール)。

以下に、カスタムモジュールの「by」部分を取り除く方法の簡単な例を示します。実際には、theme_sdl_editor_legend()フックの実装を使用して、hook_scald_dnd_library_item_alter()の出力を完全に上書きします。 $item['meta']['legend']は、$atomのデータを使用して、任意の文字列に変更できます。

/**
 * Alter a scald library item.
 *
 * Implements hook_scald_dnd_library_item_alter()
 *
 * @param $atom
 *   The atom object.
 * @param $item
 *   The scald library item.
 */
function MODULE_scald_dnd_library_item_alter($atom, &$item) {
  $item['meta']['legend'] = "
   <div class='meta'>
    <!--copyright={$atom->sid}-->{$atom->rendered->title}<!--END copyright={$atom->sid}-->
  </div>
 ";
}
3
dmsmidt

サイトが個人的なものである場合、または画像がシンプルな場合は、コンテンツの美観を損なうため、画像の下にキャプションや手の込んだキャプションは必要ありません。 1つにそれらを持っていることを好むかもしれません

CKEditorを使用している場合、ドラッグアンドドロップライブラリ構成ページ(admin/config/content/dnd)を使用すると、キャプション(すべて)を削除できますが、その一部を削除できます。

[ ] Enable captions by default

admin/structure/scald/image/displayで表示を変更すると、それが処理される(非表示にしたくないフィールドをドラッグする)か、または同様の方法で処理されると予想されます。しかし、それは機能しません。

結論として、画像にキャプションを付けたくない状況がたくさんあります。

ハードコードで編集するか、CSSで非表示にする以外に、デフォルトで追加されないようにする簡単な方法はないようです。

2