web-dev-qa-db-ja.com

Wysiwygで管理されたリンク?

画像の場合のように、Drupalでリンクを処理する体系的な方法を探しています。画像の場合は、コンテンツタイプに画像フィールドを追加し、「挿入」モジュールをインストールします。Wysiwygを使用すると、ノードコンテンツ内の任意の場所に画像を簡単に挿入でき、フィールドであるため、「管理可能」にできます。

リンク(外部および内部)に似たものを探していますが、既存の方法は考えられません。私が見つけたのは、「リンク」モジュールを使用してすべてのリンクをノードの下部に(フィールド経由で)表示するか、Wysiwygの「リンク」ボタンを使用してリンクをどこかに挿入することですが、それらは管理されていません。

私は次のような解決策を探しています:

  1. すべてのリンクはより簡単に管理されます-それらはフィールドとして保持されるため(おそらく「リンク」フィールド)
  2. これらのリンクをノードの下部にリンクリストとして表示するのではなく、ノードのコンテンツ内のさまざまな場所に表示することができます(「挿入」モジュールを含む画像など)。
7
camcam

ckeditor_link モジュールに基づいてソリューションを構築することをお勧めします。このモジュールを使用するには、もちろん、wysiwygの編集にckeditorを使用する必要があります。これが問題でない場合、ユーザーはリンクを作成するときに新しい「内部リンク」URLタイプを使用できます。ターゲットのノードタイトルを入力すると、node/1234へのリンクが作成され、このリンクはレンダリング時にノードのパスエイリアスへのリンクに変換されます。これで、ノードのパスエイリアスを編集すると、内部リンクが自動的に変更されます。それらを管理するために他に必要なことはありません。

外部リンクについては、外部リンクの新しいノードタイプを作成し、それぞれにランディングページを作成します。ランディングページのリンクフィールドを使用して外部リンクを保持し、テンプレートにそのコンテンツタイプのボイラープレートテキストを挿入します。これを設定したら、もう一度ckeditor_linkモジュールを使用して、ランディングページをターゲティングできます。ランディングページのアイデアが気に入らず、コーディングに少し慣れている場合は、外部リンク用の独自のバージョンのckeditor_linkを作成し、その入力フィルターを変更して、ターゲットリンクのURLではなく、ターゲットリンクのURLをレンダリングできます。ランディングページのURL。

1
greg_1_anderson

camcam、私がこれまでに見つけた最高のモジュールは LinkIt です。これはTinyMCEに統合することも、スタンドアロンフィールドで使用することもできます。スタンドアロンフィールドでの内部リンクと外部リンクの柔軟性を考慮に入れているため、問題を解決できるはずです。お役に立てれば。

1
makbeta