Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1095 Просмотров
*

Ildan37

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Подключение модели
« : 14.11.2015, 11:53:08 »
Здравствуйте, пытаюсь подключить модель в контроллере фронт-енд части.
Контроллер /controllers/add.php
Код: php
class ReviewsControllerAdd extends JControllerForm
{
  public function Add()
  {
   
   /* if($_FILES['picture']['size']>1024*1024*2)
    {
       $app = JFactory::getApplication();
       $app->redirect(JRoute::_('/component/reviews/'));
       exit;
    }
    // Проверяем загружен ли файл
   if(is_uploaded_file($_FILES["picture"]["tmp_name"]))
   {
      // Если файл загружен успешно, перемещаем его
      // из временной директории в конечную
      if (move_uploaded_file($_FILES['picture']['tmp_name'], JPATH_SITE."/media/com_reviews/images/".$_FILES['picture']['name'])) {
       //Обработка изображения после загрузки
       $image = new JImage( JPATH_SITE."/media/com_reviews/images/".$_FILES['picture']['name'] );
       $image->resize(200, 200, false, JImage::SCALE_FILL );
   
       $image->toFile(JPATH_SITE."/media/com_reviews/images/".$_FILES['picture']['name']);
       } else {
      echo "Возможная атака с помощью файловой загрузки!\n";
       }
   }*/
   
   $modelName = 'reviews';
   $model = $this->getModel($modelName);
    echo $modelName;
 
   $model->AddReview();
       
   exit;       
  }
}
Файл модели /models/reviews.php
Код: php
class ReviewsModelReviews extends JModelList
{
//Функция её мы будем выводит в виде.
function getReview()
{
//Подключение к бд Joomla
$db = $this->getDbo();

//Выбираем из какой таблицы будем вытаскивать данные ORDER BY review_id это порядок отображения данных этим займёмся в админ панеле.
$query = 'SELECT * FROM #__reviews ORDER BY review_id';
$db->setQuery($query);
$row = $db->loadObjectlist();
     //вернуть row
     return $row;

}

}

 function AddReview()
 {
    echo "Hello world";
    die();
    // Создайте новый объект запроса.
    $db = $this->getDbo();
    $query = $db->getQuery(true);
   
    $query->select('MAX('.$db->quoteName('review_id').')');
    $query->from($db->quoteName('#__reviews'));
    $db->setQuery($query);
    $id = $db->loadResult();
       
    //берем полученные данные
    $input = JFactory::getApplication()->input;
    $image = 'img-'.$id;
    $phone = $input->getString('phone', '');
    $name = $input->getString('name', '');
    $text = $input->getString('text', '');
    $day = date('Y-m-d');
       
     //Поля для вставки.
     $columns = array('review_name_person', 'review_phone', 'review_text', 'review_image', 'review_date', 'review_published');
 
     //Значения для вставки.
      $values = array($name, $phone, $text, $image, $day, 1);
 
      // Составление запроса и вставка.
     $query
    ->insert($db->quoteName('#__reviews'))
    ->columns($db->quoteName($columns))
    ->values(implode(',', $values));
 
     $db->setQuery($query);
       
     $result = $db->loadResult();
       
     $db->execute();
 
      //возврощаем резалт
      echo json_encode($result);
 }

Точка входа
Код: php
defined('_JEXEC') or die;

//Создание класса компонента
$controller = JControllerLegacy::getInstance('Reviews');
//Выполнить задачу запроса
$controller->execute(JRequest::getCmd('task'));
//Переадресация
$controller->redirect();
Хочу только что бы вывел Hello world.
« Последнее редактирование: 14.11.2015, 17:51:21 от Ildan37 »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Подключение модели
« Ответ #1 : 14.11.2015, 13:53:28 »
при task="add.add" должно выводить
и в контроллере я класса не увидел)
« Последнее редактирование: 14.11.2015, 13:57:15 от SmokerMan »
*

Ildan37

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: Подключение модели
« Ответ #2 : 14.11.2015, 14:24:02 »
при task="add.add" должно выводить
и в контроллере я класса не увидел)
Добавил класс
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подключение erf и epf модулей

Автор Darius_hand_of_Noxus

Ответов: 2
Просмотров: 930
Последний ответ 19.05.2021, 07:02:04
от Darius_hand_of_Noxus
Вызов определенной функции модели ajax

Автор Dram

Ответов: 16
Просмотров: 897
Последний ответ 26.11.2020, 17:01:55
от Dram
Размещение 3d-модели на сайте

Автор Михаил ЕН

Ответов: 5
Просмотров: 1029
Последний ответ 31.07.2020, 09:41:59
от AlexB
Подключение Simple Download counter (sdc)

Автор ZerGO

Ответов: 0
Просмотров: 698
Последний ответ 01.05.2020, 12:36:44
от ZerGO
LEFT JOIN в модели с выборкой по 2-ум условиям

Автор voron121

Ответов: 5
Просмотров: 1713
Последний ответ 05.03.2020, 16:09:06
от Mitriy