joomla — PHP return Зарегистрированный пользователь

Я запускаю сайт на базе Joomla и пытаюсь получить домофон, чтобы получить данные о вошедших пользователя через php. Кто-нибудь знает, какова правильная формула для этих строк (или где я могу ее найти?):

<?php echo $current_user->name ?>
<?php echo $current_user->email ?>

Второй вопрос: что произойдет, если не будет зарегистрированного пользователя?

К вашему сведению: я, к сожалению, не владею php!

Полный код:

<script>
window.intercomSettings = {
app_id: "*****",
name: "<?php echo $current_user->name ?>", // Full name
email: "<?php echo $current_user->email ?>", // Email address
created_at: <?php echo strtotime($current_user->created_at) ?> // Signup date as a Unix timestamp
};
</script>
<script>(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/unvfagbb';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()</script>

0

Решение

Чтобы получить объект пользователя: (поместите эту строку перед <скрипт> тег)

$current_user = JFactory::getUser();

смотрите также: https://docs.joomla.org/Accessing_the_current_user_object

0

Другие решения

Вы не можете напрямую передавать данные из Joomla в Intercom, вам нужно вызвать инфраструктуру joomla и получить доступ к свойствам пользователя. Сначала вам нужно использовать этот код, чтобы подключиться к Joomla

<?php
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define('JPATH_BASE', "C:\Vertrigo\www\joomla" );// Your Joomla Installation folder
//Next call the mandatory framework files
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
//Initialise the mainframe
$mainframe = JFactory::getApplication('site');
$mainframe->initialise();
//get user details
$user = JFactory::getUser();
//To get current logged in user
$current_user->name = $user->username;
$current_user->email =$user->email;

Если у вас нет зарегистрированного пользователя, вы получаете userid = 0 или guest, так же вы можете изменить свой код с помощью оператора if else. if($user->id ==0) так далее

0

По вопросам рекламы [email protected]