web-dev-qa-db-ja.com

画像へのリンクの追加

コアに画像フィールドをURLへのクリック可能なリンクにして、画像フィールドの追加設定として入力するか、そのURLを格納する別のフィールドからプルできるモジュールまたは方法はありますか?.

これは https://www.drupal.org/project/linked_field は私が望むもののように見えますが、私が使用できるトークンがありません。

これも私が望んでいるように見えますが、D7用です。 https://www.drupal.org/project/linkimagefield

これをカスタムフィールドタイプに使用しています

3
StevenPatz

コンテンツタイプのテンプレートファイルを作成できます。

node-[type-name] .html.twig

<a href="{{ content.field_url }}"> {{ content.field_image }} </a>

0
No Sssweat

カスタムフィールドタイプを既に構築している場合は、フィールドへのリンクのプロパティを追加できます。

class MyLinkField extends FieldItemBase {

  public static function propertyDefinitions(StorageDefinition $storage) {
    ...  
    $properties['title'] = DataDefinition::create('string')
      ->setLabel(t('Title'));
    $properties['url'] = DataDefinition::create('string')
      ->setLabel(t('URL'));
  }

フィールドフォーマッタで使用します。

class MyLinkFieldFormatter extends FormatterBase {

  public function viewElements(FieldItemListInterface $items, $langcode) {
    $elements = [];
    foreach ($items as $delta => $item) {
      $elements[$delta] = [
        '#type' => 'link', 
        '#title' => $item->title,
        '#url' => Url::fromUri($item->url),
      ];
    }
  return $elements;
  }
1
4k4