ビューとCCKを使用してDrupalのギャラリーレイアウトをカスタマイズする

StackOverflow https://stackoverflow.com/questions/1028401

  •  06-07-2019
  •  | 
  •  

質問

Drupal 6でギャラリー/アルバムサイトを作成しています。 おそらく説明は少し詳しくなりますが、それでも何らかの理由で、Drupalで簡単な方法でギャラリーを作成することは問題です。

今のところ、CCK +ビュー+ FileField + ImageCache + Lightbox2の組み合わせを使用しています。

これにより、 -複数の画像を保持できるアルバムCCKノードタイプを作成する -9x9形式でアルバムを表示するビューを作成します(ページャーと行ごとのアイテムを使用)

しかし、ここに一つの問題があります。アルバムが表示されたメインの9x9ビューはきれいに表示されますが、写真をクリックして特定のAlbumノードにドリルダウンすると、アップロードされたノード画像が縦に並んで表示し、フォーマットを制御できません。

どうやら、私は2つのオプションがあります a)CCKフィールドのHTML出力をそのファイルで何らかの形で制御する(行に分割する) b)または別のビューを作成して、1つのアルバムの写真を表示する

今のところ、これら2つの方法のどちらが最適で、具体的に何をする必要があるかはわかりません。

a)node-album.tplファイルを作成できますが、そのコンテンツはすべて単一の$ content変数に既に含まれているため、3つのアイテムを連続して分割することはできません。私は間違っていますか?

b)単一のアルバムノードからアイテムを表示するビューを作成することにした場合、親アルバムビューからどのように参照するかわかりません。問題は、ビューの[フィールド]セクションでリンクを上書きできることですが、潜在的な「子」に渡すための置換パターンは2つしかありません。 [title]と[field_images_fid]のビュー-特定のアルバムの画像を表示するための子ビューを作成するのに十分ですか?

役に立ちましたか?

解決

  

node-album.tplファイルを作成できますが、そのコンテンツはすべて単一の$ content変数に既に含まれているため、3つのアイテムを連続して分割することはできません。私は間違っていますか?

あなたは正しいと間違っています。

template.phpファイルでは、node-album.tplに他の変数を渡すことができます。$ node変数を渡して、非常にカスタマイズされた方法で表示できますが、これにより、後で使用するかのように柔軟性が失われます$ contentに物事を追加する別のモジュールでは、tplファイルを編集して新しい変数にアクセスする必要があります。

これを行うには、template.phpファイルのpreprocess_pageフックを使用します。変数を$ vars配列に追加して、node-album.tplファイルで使用できます。 $ nodeはtplファイルで既に定義されていると思いますが、おそらくあなたの生活が楽になるでしょう。コンテンツを完全に無視できます。

これがうまくいかない場合は、カスタムモジュールを作成し、hook_nodeapiとhook_themeを使用して、$ contentを使用しながら、好きな方法でテーマを設定することもできます。しかし、これはあなたのニーズには少し手間がかかるかもしれません(このようにしたい場合は返信してください。別の答えを書きます)。

他のヒント

1つのアプローチの概要を示すスクリーンキャストを記録した。コメントスレッドでは、代替メソッドに関するかなりの議論があります。ギャラリー自体のプレゼンテーションをさらに制御したい場合は、 Views Attach を使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top