RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Взаимодействие с глобальными объектами Joomla

Преобразуем пример модуля Hello World! Для этого просто впишем новый php код в соответствующий файл.

<?php
    defined('_JEXEC') or die('Restricted access');
    $user = JFactory::getUser();
    if ($user->guest) {
        echo "<p>Добро пожаловать!</p>";
    } else {
        echo "<p>Имя пользователь: $user->username</p>";
        echo "<p>Пользователь: $user->name</p>";
        echo "<p>E-mail: $user->email</p>";
    }
?>

JFactory - это один из основных классов Joomla, содержащий в себе методы для вызова различных глобальных объектов. В данном примере он возвращает ссылку на объект класса JUser. Выведем с помощью модуля все возможные свойства о пользователе

<?php
    defined('_JEXEC') or die('Restricted access');
    $user = JFactory::getUser();
    print "\n Текущий пользователь \n";
    foreach ($user as $key => $value) {
        if (is_string($value)) {
            print "<p> Свойство пользователя $key = $value</p>\n";
        } else {
            print "<p> Свойство $key - это не строка</p>\n";
        }
    }
?>

Функция is_string() здесь необходима для того чтобы выводить только строковые свойства объекта. С помощью цикла foreach мы перебираем все свойства класса.

В качестве дополнительного примера попробуем использовать класс JURI.

<?php
    defined('_JEXEC') or die('Restricted access');
    $uri = JFactory::getURI();
    print "\nТекущий URI Запрос\n";
    foreach ($uri as $key => $value) {
        if (is_string($value)) {
            print "<p> Свойство $key = $value </p>\n";
        } else {
            print "<p> Свойство $key - не строка </p>\n";
        }
    }
?>

А вот еще один пример с использованием класса для формирования даты и времени - JDate:

<?php
    defined('_JEXEC') or die('Restricted access');
   
    // Получаем дату
    $date = JFactory::getDate();
 
    // Вызов метода toMySQL
    $datemysql = $date->toMySQL();
    echo "\n<p> Дата представлена в формате базы данных MySQL $datemysql </p>\n";
 
    // Используем метод класса toUNIX
    $dateunix = $date->toUNIX();
    echo "\n<p> Текущая дата в UNIX формате - $dateunix </p>\n";
 
    // Используя метод toFormat, преобразуем текущую дату к желаемому виду.
    $datestr = $date->toFormat ('%H:%M:%S - %d %b %Y');
    echo "\n<p> Текущая дата $datestr </p>\n";
 
    // используя внутренний метод _monthToString переведем номер месяца в слово
    echo "\n<p>" . JDate::_monthToString(4) . " or " . $date->_monthToString(4) . "</p>\n";
?>

Смотрите также:
Комментарии (1) Добавить комментарий
  • Артём
    Артём
    26 Декабря 2013, 13:09
     ↑  +1  ↓     ответ

    getUser() есть подскажите как вывести материалы либо из категори либо популярные там вроде document()

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.