1

こんにちは、私は Drupal の初心者で、この CMS のベスト プラクティスに本当に苦労しています。現在、Panels 3 モジュールを使用して、作成したカスタム レイアウトで Web サイトのページを作成しようとしています。私が理解できないのは、パネルや drupal インストールの個々のテンプレート (node.tpl、フィールド関数、region.tpl など) から来る、とんでもない量の過剰なマークアップです。作成する必要がある非常に精巧な Web サイト デザインがいくつかあるのですが、Drupal テンプレートとフィールド関数から生成された html が文字通り私の仕事を不可能にしています。私は単純にデータベース クエリの例 (wp_query()) を作成し、必要な値を取得して、必要なマークアップで表示できる wordpress に慣れています。ここで Drupal に欠けているものは何ですか? きれいなマークアップを取得するために、Drupal のフィールド レベルまで 7 つのテンプレート ファイルを上書きする必要があるのでしょうか? ここで何が欠けていますか?

4

1 に答える 1

0

独自のテーマでは、各フィールドの出力をスタイルするフックをtemplate.php実装できます。theme_field()リージョン、ブロック、ノード、ページにも同様のフックが存在します。デフォルトのコードをコピーして変更するだけです。

以下は、コンテンツ スライダーなどの出力を通常どのように簡略化するかの例です。

function yourtheme_field__field_slidertext(&$variables) {
  $output = '';
  foreach ($variables['items'] as $delta => $item) {
    $output .= '<li class="slide">' . drupal_render($item) . '</li>';
  }
  $output = '<ul class="slider">' . $output . '</ul>';
  return $output;
}

マークアップを取り除き、フィールドの一般的な出力オプションを選択する簡単な方法が必要な場合は、Drupal Fencesモジュールをご覧ください。

于 2013-07-02T23:28:26.787 に答える