2

我现在正在为希望在一个 joomla 实例下拥有多个微型站点和一个主站点的客户构建一个模板。我在 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 回答