如何根据用户访问组将smarty代码tpl文件插入到tpl文件中

How to insert smarty code tpl file in to tpl file according to user access group

目前对于 Joomla 3,我正在尝试在特定用户组的 tpl 文件中显示一个 tpl 文件。

首先我尝试使用以下代码为自定义代码模块创建模块位置

{php}
echo JHtml::_('content.prepare', '{loadposition companydetail}'); 
{/php}

模块位置很好,但有问题。我想使用的代码是 .tpl 文件代码。因此自定义代码模块不适用于它。

比起聪明的代码,我创建了一个 .tpl 文件并将其调用到我创建的访问组的主 .tpl 文件中。

{php}
$user_  = JFactory::getUser();
$db     = JFactory::getDBO();
foreach($user_->groups as $group){
$query  = 'SELECT title FROM #__usergroups';
$query .= ' WHERE id = ' . $group;
$db->setQuery( $query );
if ($db->loadResult() == "Business")
{
echo '{include file='companydetail.tpl'}'; 
}
}
{/php}

在尝试包含 tpl 文件之前它运行良好。因为代码不聪明。 基本上我需要这个代码部分的聪明版本。

试过了但没用

{ 
$user_ = JFactory::getUser(); 
$db = JFactory::getDBO(); 
{foreach $user_->groups as $group} 
$query = 'SELECT title FROM #__usergroups'; 
$query .= ' WHERE id = ' . $group; 
$db->setQuery( $query ); 
{if $db->loadResult() == "Business"} 
{include file='companydetail.tpl'} 
{/if} 
{/foreach} 
}

在某些论坛上,人们提议为此创建一个 class,但这不是我想要的。任何人都可以使用浏览器编辑器显示该部分。

我希望有人可以帮助解决这个问题。 提前致谢。

此致

这是解决方案,

{if in_array('10', $joomlauser->groups)}
{/if}

10 是群号。使用此代码,只有 10 个可以看到页面的那一部分。 这不是我的解决方案。我从另一个论坛得到了一些帮助。 希望这对其他人有所帮助。

此致