web-dev-qa-db-ja.com

サブドメインのメニューリンクにbase_urlとしてメインドメインを使用させる方法

サブドメインsub.example.comを持つサイトexample.comがあります。私のApache設定では、ドメインとサブドメインの両方が、Drupalインストールを含む)を含む同じディレクトリをポイントしています。サブドメインを設定するために行った限りです。

問題は、sub.example.comのメインメニューがメインサイトと同じメニューとテンプレートを使用していることです。リンクはexample.com/node/1の代わりにsub.example.com/node/1にリンクし、サブドメインにサイト全体のクローンを効果的に作成します。

同じメニューを表示する方法はありますが、リンクはすべてexample.com/node/1にリンクしています。

2
user74847

それはあなたのテーマに依存しますが、通常はメニュー配列(例:_$mail_menu_ in page.tpl.php )各メニュー項目に配列要素_'absolute'_をTRUEに設定して、 l() が絶対パスでリンクを生成するように変更できます。

たとえば、 MYTHEME_preprocess_page() 関数の場合:

_/**
 * Override or variables into the page template.
 */
function MYTHEME_process_page(&$vars) {
  foreach ($vars['main_menu'] as $id => $menu_item) {
    $vars['main_menu'][$id]['absolute'] = TRUE;
  }
}
_

_$base_url_が_http://example.com_に設定されている限り、メニューリンクが元のドメインにレンダリングされます。

1
Shawn Conn