iframe с данными пользователя в Joomla - PullRequest
0 голосов
/ 10 июля 2010

У меня есть сайт, который может быть опубликован и имеет единый вход.SSO работает с iframe, данные пользователя указываются в строке запроса, и одна из деталей должна быть хеширована (MD5).Например: http://www.come2play.com/channel_auth.asp?channel_id=9000&uid=123456&nick_name=The+Man&auth_sig=dc952e4371e04551684afbcbf12cf14c

Один из моих издателей использует joomla и хочет использовать SSO.Он не программист и дал мне доступ к его системе Joomla в качестве администратора.Все, что мне нужно сделать, это добавить iframe с данными пользователя, но я не знаю, с чего начать.

Я видел, как получить информацию о пользователе здесь: http: // docs.joomla.org/Accessing_the_current_user_object

Я должен создать страницу php?Joomla Artice?Расширение?Модуль?Составная часть?Я не уверен, что к чему, и моя цель довольно проста.После того, как я создаю вещь, куда я ее положу?(У меня есть доступ к веб-серверу).

Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 26 января 2016

Я знаю, что это старо, но для тех, кто может наткнуться на это и нуждается в симуляции.У меня есть страница, которая находится внутри iframe, и я добавил несколько дополнительных битов, чтобы иметь возможность соединить ее с пользовательской БД:

<?php
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe =& JFactory::getApplication('site');
$user =& JFactory::getUser();
?>

Выше указано подключение к БД, и затем вы можете изесть место в полях, чтобы получить информацию о вашем пользователе:

  <input type="hidden" name="Nickname" value="<?php print($user->username); ?>">
  <?php
  if($user->username){
     print($user->username);
  }else{
     print("You need to <a href=\"http://yoursite.com/index.php/component/users/?view=registration\" title=\"Create an account\" target=\"_top\">register</a> to use chat.");
  }
  ?>

И / или:

Real name: 
      <input type="hidden" name="Realname" value="<?php print($user->name); ?>">
      <?php print($user->name); ?>

Надеюсь, это поможет всем, кому это нужно.

0 голосов
/ 12 июля 2010

Если вам нужно передать детали чему-либо в iframe, создайте новую папку в шаблонах / YOURTEMPLATE / html /, чтобы мы могли переопределить поведение по умолчанию.

обертка --tmpl ---- default.php

Затем вам нужно скопировать файлы из компонентов / com_wrapper / views / wrapper

Если вы посмотрите на файл, вы увидите следующий код:

<iframe <?php echo $this->wrapper->load; ?>
id="blockrandom"
name="iframe"
src="<?php echo $this->wrapper->url."?username=".$user->username."&email=".$user->email; ?>"
width="<?php echo $this->params->get( 'width' ); ?>"
height="<?php echo $this->params->get( 'height' ); ?>"
scrolling="<?php echo $this->params->get( 'scrolling' ); ?>"
align="top"
frameborder="0"
class="wrapper<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo JText::_( 'NO_IFRAMES' ); ?>
</iframe>

Если вы посмотрите на атрибут src, вы увидите, что я передаю имя пользователя и адрес электронной почты. Вы должны быть в состоянии сделать то же самое для других параметров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...