0

私はdrupal7を使用しています。まず、スクリーンショットを参照して、私が話していることを確認してください。 http://www.karya.gisla.in/scr.png

私のコンテンツタイプが記事だとしましょう。記事を作成すると、認証されたユーザーに対して、ノードにプライマリタブが表示されます。つまり、[表示]と[編集]です。記事を表示して記事を編集するように変更/編集したいだけです。

注:特定のコンテンツタイプのみ。つまり、他のコンテンツタイプでは、ページがデフォルトとして表示されます:表示と編集。

これを達成するためのアイデア。

どんな助けでもありがたいです。

4

4 に答える 4

1

次のコードでうまくいきます。それをテーマtemplate.phpに貼り付け、YOURTHEMENAMEを...テーマの名前に変更します。この関数でdpm($ vars)を使用して、$varsの情報の種類を確認してください。これは、次回より早くポイントに到達するのに役立つはずです。

[編集:]それを指摘してくれてありがとうベン!更新されたバージョンは次のとおりです。

function YOURTHEMENAME_preprocess_page(&$vars) {
  if ($vars['node']->type == 'article') {
    foreach($vars['tabs']['#primary'] AS $index => $tab) {
      if($tab['#link']['title'] == t('View')) {
        $vars['tabs']['#primary'][$index]['#link']['title'] = t('View Article');
      }

      if($tab['#link']['title'] == t('Edit')) {
        $vars['tabs']['#primary'][$index]['#link']['title'] = t('Edit Article');
      }
    }
  }
}

楽しんでください、マーティン

于 2012-04-25T15:31:17.800 に答える
0

文字列オーバーライドモジュールが役立つ場合がありますが、それが役割を処理するかどうかはわかりません。

于 2012-04-25T14:44:59.007 に答える
0

次の関数をテーマのテンプレートファイルに配置YOURTHEMEし、テーマ名に置き換えてタブリンクを変更できます。

$nodesは多次元配列であり、第1レベルのキーはタブを置き換えるコンテンツタイプであり、第2レベルのキー値の組み合わせはそれぞれパスと置換パターンです。''タブを削除するように置換パターンを設定します。

/**
 * Implements hook_menu_local_tasks_alter().
 */
 function YOURTHEME_menu_local_tasks_alter(&$data, $router_item, $root_path) {
    $nodes = array(
        'article'   =>  array(
            'node/%/view'   =>  'View Article',
            'node/%/edit'   =>  'Edit Article'
        )
    );

    foreach ($router_item['page_arguments'] as $key => $argument) {
        if (is_object($argument) && array_key_exists( $router_item['page_arguments'][$key]->type, $nodes )) {
            foreach( $nodes[$router_item['page_arguments'][$key]->type] as $path => $new_title ) {
                foreach ($data['tabs'][0]['output'] as $key => $value) {
                    if ($value['#link']['path'] == $path) {
                        if( !$new_title ) {
                            unset($data['tabs'][0]['output'][$key]);
                        } else {
                            $data['tabs'][0]['output'][$key]['#link']['title'] = $new_title;
                        }
                    }
                }
            }
        }
    }
}
于 2012-04-25T15:26:39.063 に答える
0

そのためのモジュールがあります: https : //drupal.org/project/tabname_tweaker;-)

于 2014-03-18T11:36:31.043 に答える