2

joomla の 1 つのインスタンスの下に複数のマイクロサイトと 1 つのマスター サイトを配置したいクライアントのために、現在テンプレートを作成しています。私はそれを Joomla で構築しています。それは私が知っていることなので、別の CMS を提案しないでください。はい、Drupal がこれを本質的にサポートしていることを知っています! ということで、こちらがスキニーです。現在、私のテンプレートはテンプレート パラメータからドメイン名を探し、それをベース URI と比較してから、テンプレート全体で使用される変数を設定します。したがって、コードは次のようになります...

 //multisite configuration - determines which template params and menu module to display depending on the base URL
$url = JURI::base();
$primary = 'http://'.$this->params->get('site-domain').'/';
$sub1= 'http://'.$this->params->get('domain1-domain').'/';
$sub2= 'http://'.$this->params->get('domain2-domain').'/';
$sub3= 'http://'.$this->params->get('domain3-domain').'/';
$sub4= 'http://'.$this->params->get('domain4-domain').'/';
$sub5= 'http://'.$this->params->get('domain5-domain').'/';
if($url == $primary):
    $logo = $this->params->get('logo');
    $title = $this->params->get('site-title');
    $slogan = $this->params->get('site-slogan');
    $menu = '<jdoc:include type="modules" name="menu" />';
elseif($url == $sub1):
    $logo = $this->params->get('domain1-logo');
    $title = $this->params->get('domain1-title');
    $slogan = $this->params->get('domain1-slogan');
    $menu = '<jdoc:include type="modules" name="menu-1" />';
elseif($url == $sub2):
    $logo = $this->params->get('domain2-logo');
    $title = $this->params->get('domain2-title');
    $slogan = $this->params->get('domain2-slogan');
    $menu = '<jdoc:include type="modules" name="menu-2" />';
elseif($url == $sub3):
    $logo = $this->params->get('domain3-logo');
    $title = $this->params->get('domain3-title');
    $slogan = $this->params->get('domain3-slogan');
    $menu = '<jdoc:include type="modules" name="menu-3" />';
elseif($url == $sub4):
    $logo = $this->params->get('domain4-logo');
    $title = $this->params->get('domain4-title');
    $slogan = $this->params->get('domain4-slogan');
    $menu = '<jdoc:include type="modules" name="menu-4" />';
elseif($url == $sub5):
    $logo = $this->params->get('domain5-logo');
    $title = $this->params->get('domain5-title');
    $slogan = $this->params->get('domain5-slogan');
    $menu = '<jdoc:include type="modules" name="menu-5" />';
endif;

だから今私がする必要があるのは、どのメニュー項目 ID がデフォルトのメニュー項目であるかを決定するテンプレート パラメーターを作成し、PHP ヘッダー リダイレクトを行うことです。Joomla は複数のデフォルトをサポートしていないため、必要なリダイレクト URL を生成するための回避策が必要です。カテゴリや記事タイプの表示に限定したくないので、メニュー項目IDやエイリアスで考えています。残念ながら、これを解決するには、PHP と Joomla に関する私の知識が不十分です。どんな助けでも素晴らしいでしょう。

ありがとうサンドラ:)

4

1 に答える 1

3

代わりに、 Virtual Domainsなどの拡張機能を使用して、さまざまなドメインをさまざまなデフォルト メニュー項目に関連付けることができます。次に、標準の Joomla テンプレートを使用して、メニューごとに割り当てることができます。

于 2013-06-22T02:55:47.597 に答える