Потом в фронтенде пишете
$id_group = cmsDatabase::getInstance()->get_field('cms_users', "id = '{$inUser->id}'", 'group_id'); if($id_group == 8){$user = 'guest';}
assign('user', $user)->
{if $user == 'guest'}бла бла бла{/if}
public static function getGroupIdByUserId($user_id){ return cmsDatabase::getInstance()->get_field('cms_users', "id='{$user_id}'", 'group_id'); }
Сори, за тупость.
у пользовательского модуля нет фронтэнда. это просто запись в БД и все. если вы хотите создать настоящий модуль, берите мою утилиту Генератор модуля и дерзайте. Она вам создаст модуль со всеми причиндалами и даже пропишет его в БД — можете сразу наполнять фронтэнд модуля (в папке с именем модуля файл module.php) действиями. например, узнать id юзера или id его группы…
Подскажите. как в tpl вывести группу?
У меня пользовательский модуль
Откуда у пользовательского модуля взялся шаблон?
cmsPage::initTemplate('modules','module_slider.tpl')->display('module_slider.tpl');
<a title="к разделу" href="{if $user == 'children'}cms{else}dostup.html{/if}">{php}echo $user;{/php}</a>
<?php /******************************************************************************/ // // // InstantCMS v1.10 // // http://instantcms.ru/ // // // // written by InstantCMS Team, 2007-2012 // // produced by InstantSoft, (www.instantsoft.ru) // // // // LICENSED BY GNU/GPL v2 // // // /******************************************************************************/ function mod_karusel($module_id){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inCore->loadModel('content'); $model = new cms_model_content(); $cfg = $inCore->loadModuleConfig($module_id); if($cfg['cat_id']){ if (!$cfg['subs']){ //выбираем из категории $model->whereCatIs($cfg['cat_id']); } else { //выбираем из категории и подкатегорий $rootcat = $inDB->getNsCategory('cms_category', $cfg['cat_id']); if(!$rootcat) { return false; } $model->whereThisAndNestedCats($rootcat['NSLeft'], $rootcat['NSRight']); } } $id_group = cmsDatabase::getInstance()->get_field('cms_users', "id = '{$inUser->id}'", 'group_id'); if($id_group == 10){$user = 'children';} else{ echo'ERROR'; } $inDB->where("con.showlatest = 1"); $inDB->orderBy('con.pubdate', 'DESC'); $inDB->limitPage(1, $cfg['newscount']); $content_list = $model->getArticlesList(); if(!$content_list) { return false; } $smarty = $inCore->initSmarty('modules', 'mod_karusel.tpl'); $smarty->assign('articles', $content_list); $smarty->assign('user', $user); $smarty->assign('module_id', $module_id); $smarty->assign('cfg', $cfg); $smarty->display('mod_karusel.tpl'); return true; } ?>
$id_group = cmsDatabase::getInstance()->get_field('cms_users', "id = '{$inUser->id}'", 'group_id'); if($id_group == 10){$user = 'children';} else{ echo'ERROR'; }
Этот запрос не выполняется.Выдало ERROR
$id_group = cmsDatabase::getInstance()->get_field('cms_users', "id = '{$inUser->id}'", 'group_id'); if($id_group == 10){$user = 'children';} else{ echo'ERROR'; }
Какбы логично, у вас же переменным $inCore $inDB, присваиваются значениея, а $inUser нет,
просто после
$inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance();
$inUser = cmsUser::getInstance();
{php}echo $user;{/php}
Большое спасибо, мил человек, вроде всё заработало.Единственное не понимаю, почему в модуле не выводятся переменные ни $user ни $group_id, ведь значения им присвоины?
{php}echo $user;{/php}
у вас переменная:
1) не $group_id, а $id_group
2) $id_group не передается в шаблон
3) $user имеет значение только в том слечае если $id_group равна 10, в противном случае она пуста.