Как вставить tpl файл smarty code в файл tpl в соответствии с группой доступа пользователя - PullRequest
0 голосов
/ 07 февраля 2019

Для Joomla 3 в настоящее время я пытаюсь отобразить файл tpl в файле tpl для определенной группы пользователей.

Сначала я попытался создать позицию модуля для модуля пользовательского кода со следующим кодом

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

Модуль Positon работает хорошо, но есть проблема.Код, который я хочу использовать, - это код файла .tpl.Поэтому модуль нестандартного кода не работает с ним.

Чем с кодами smarty я создал файл .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} 
}

На некоторых форумах люди предлагают создать класс для этого, но это не то, что я хочу.Любой может отобразить эту часть с помощью редактора браузера.

Я надеюсь, что кто-то может помочь в этом.Заранее спасибо.

С уважением

1 Ответ

0 голосов
/ 11 февраля 2019

Вот решение,

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

10 - идентификатор группы.С этим кодом только 10 могут видеть эту часть страницы.Это было не мое решение.Я получил некоторую помощь от другого форума.Надеюсь, что это поможет другим.

С уважением

...