1

ここで正しい方向を指し示す必要があります...

いくつかの異なるコンテンツ タイプを持つサイトがあります。このコンテンツを本のようなレイアウトで表示したい。本の幅と高さは固定で、ページにはできるだけ多くのノードを配置する必要があります。左の列が右の列の前に入力された状態で、2 列である必要があります。

これにどのようにアプローチすればよいですか?

私はいくつかの解決策について考えてきましたが、どれが可能で、どれが最適か、またはどれを組み合わせることができるかわかりません。

  1. 必要以上のノードを選択するビューを作成することもできます。次に、ノードがテーマ レイヤーにある時間を確認し、不要なノードを破棄します。ポケットベルも修正する必要があります。

  2. 可能であれば、パネルをビューと組み合わせて使用​​し、1 つのビューを 2 列で表示します。コンテンツの長さに基づいて、各ページに表示されるノードの量を決定する方法が必要です。

  3. ビューのプラグイン/ハンドラーを作成して、事前に定義された最大コンテンツ長を持つノードの量を選択できるようにします。

  4. 高さが固定された 2 つの列にコンテンツを表示するビューの新しい表示スタイルを記述します。

  5. カスタム モジュールを作成し、そこからビューとパネルを除外し、db_queries を使用して自分ですべてを行います。

感謝し、多くのガイダンスをいただければ幸いです。完成したソリューションを探しているわけではありません。コードを書くことを恐れていません。他の誰かが使用できるもの (ビュー プラグインなど) を作成した場合は、貢献します。誰かが私を正しい方向に導く必要があります:)

4

3 に答える 3

1

最も難しいのは、スペースを埋めるために必要なコンテンツの量を把握することです。マークアップとスタイルの両方に依存するため、これを行う良い方法はありません。

私が考えることができる最善の解決策は、ノードをjavascriptでロードするか、単にjavascript変数として利用できるようにすることです。そうすれば、ノードをページに 1 つずつ挿入できます。次に、JS ですべてのノードの高さの合計を確認し、その高さが x より大きくなったら、最後に挿入されたノードを削除するだけで済みます。

これは完全な解決策ではありませんが、JavaScript でこれを行うことを検討する必要があると思います。唯一の問題は、うまく劣化しないことです。

于 2010-10-27T07:24:38.217 に答える
0

Drupalは、迅速な構築を支援します。有望に見えますが、クライアント、デザイナー、プログラマーのニーズを満たすことができません。1つのモジュールページといくつかの関数を作成する必要があります。

あなたが与えた5番目の解決策は他のものよりほとんど問題がありません。「ティーザーのような」振る舞いをする関数を書いて、そのタイプに従ってフォーマットされたノードを返します。drupalのティーザーシステムに頼らないでください。ティーザーの高さが異なる場合は、ティーザー関数に高さを追加します。

于 2010-10-27T06:53:41.193 に答える
0

直接的な答えはありませんが、いくつか考えさせてください。

あなたが探しているのは、CSS3 Multicolumn Layout (たとえばhttp://www.quirksmode.org/css/multicolumn.htmlを参照) と、表示されるコンテンツを固定の高さに制限することの組み合わせであるように思えます。

私が最初に考えたのは、必要以上のものを取得する単一のビューを作成し、CSS3 列を使用して表示し、overflow: hidden; を設定することです。コンテナの場合は、余分なテキストが非表示になるようにします。

より具体的にする必要がある場合は、ビューのレンダリング システムを掘り下げて、レンダリングされた文字数に基づいてノードの総数を制限する必要がある場合があります。

しかし、必要な制約はデータ指向よりも視覚的なものであるため、最も実用的なアプローチは、javascript を使用してテキストの高さとオーバーフローの状態を検出することだと思います。

要件について不明な点がいくつかあります。2 つのコンテンツ タイプの目的は何ですか? 1 つが左側に表示され、もう 1 つが右側に表示されますか? それとも、これらは 2 つの異なるコンテンツ タイプであり、同じように動作するはずなのに、特定のページで一度に 1 つのコンテンツ タイプしか表示されないのでしょうか? オーバーフローしたコンテンツはどうすればよいですか? 2 ページ、3 ページ、4 ページなどに動的に表示する必要がありますか?

1 つの別れの考え: ページをめくりたいすべてのコンテンツをブラウザに直接ロードするかもしれません。たぶん、それを隠して始めてください。次に、javascript を使用して表示し、列にフォーマットし、javascript を使用してページングも処理します。

于 2010-11-14T20:02:41.887 に答える