如何根据用户访问组将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 个可以看到页面的那一部分。
这不是我的解决方案。我从另一个论坛得到了一些帮助。
希望这对其他人有所帮助。
此致
目前对于 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 个可以看到页面的那一部分。 这不是我的解决方案。我从另一个论坛得到了一些帮助。 希望这对其他人有所帮助。
此致