1

非常に基本的な広告 Web サイトを作成しています。この Web サイトには、さまざまなコンテンツ タイプがあります。そのような :

  1. 車 (年、キロメートル、色の cck フィールドがあります)
  2. 家 (cck フィールドがあるもの: 階数、庭 (はい/いいえ)

したがって、各「要素」はコンテンツタイプです。

ユーザーに表示するビューにすべてのコンテンツ タイプを一覧表示してから、リンクをクリックすると、「タイプのコンテンツ タイプの作成 (クリックされたタイプ)」に移動します。

それはかなりうまくいっています。しかし、作成ページの上部にある「新しい車の作成」を取り除くことはできません (「drupalish」の動作を反映しています)。

次のような 3 ステップ形式など、より便利な方法で使用したいと思います。

  1. カテゴリを選択
  2. オプションを選択してください
  3. 登録して新しいクラシファイドを投稿する

私は ctools を見てきました。「ほぼ」多段階の動作を提供します。ただし、1 つのモジュールで 12 個のコンテンツ タイプをすべて「ハードコード」することは想像できません。

誰かがこの種のセットアップを達成したのか、それともそのトリックを実行できるモジュールがあるのだろうか. クラシファイドのタイプごとにコンテンツ タイプを保持したいと思います (Web マスターはインターフェイスに慣れています)。

どんな助けでも、出発点をいただければ幸いです。

4

1 に答える 1

1

最初のステップとして、類似の問題を解決する必要がありました。そのために、基本的に /node/add ページ (すべてのコンテンツ タイプを一覧表示するページ) をオーバーライドするものを作成しました。タイトルを変更するには、URL が /node/add または node/*/edit の場合にタイトルを変更する yourtheme_preprocess_page() 関数を作成するのが最も簡単です。

ただし、すべてのリスティングに 1 つのコンテンツ タイプを使用するシステムに切り替えることを強くお勧めします。非常に似通ったサイトを作成しました。さまざまなコンテンツ タイプを扱った結果、条件付きで表示されるフィールドを持つ 1 つのコンテンツ タイプを使用する方がはるかに適切なソリューションであることが明らかでした。さまざまな製品タイプのカテゴリを使用してから、条件付きフィールド モジュールを使用して正しいフィールドを非表示および表示すると、はるかにうまく機能しました。

http://drupal.org/project/conditional_fields

ページ前処理関数でタイトルを設定するためのスニペットの例を次に示します。

ノード/追加ページのタイトルの設定:

  if (arg(0) == 'node' && arg(1) == 'add' && arg(2) == '') {
    $vars['title'] = 'Choose an Industry';
    $vars['head_title'] = $vars['title'] . " | " . variable_get('site_name', "Industry Trader");
  } 
于 2011-02-01T18:52:08.647 に答える