Новости 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 Гость просматривают эту тему.
  • 27 Ответов
  • 4168 Просмотров
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Как узнать: выводиться "болг категории" или "материал"?
или как узнать: переход по "меню" или "ссылке"?
*

theo_

  • Захожу иногда
  • 115
  • 2 / 0
Svyat, в смысле, что за ссылка?
а стандартными средствами php нельзя попробовать посмотреть?  Через $_SERVER['HTTP_REFERER']
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
То что я понял о Joomla, то что есть переход по пунктам меню и не по пунктам, например:
При клике на пункт меню "категория 1" это один тип перехода, клик по ссылке "подробнее" в "блоге категории 1" это другой тип прехода...
Через $_SERVER['HTTP_REFERER'] можно получить ссылку, но ее надо анализровать...
Наглядный пример:
клик по пункту меню: http://your-money/index.php/home/2009-07-30-15-35-51 ("2009-07-30-15-35-51" - псевдоним категории онже пункт меню, "home" - псевдоним пункта меню "главная страница")
клик по ссылке "подробнее": http://your-money/index.php/2009-07-30-15-35-51/28-lr- "2009-07-30-15-35-51" - псевдоним категории, "28-lr-" псевдоним статьи
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
а для чего надо анализировать урл реферера?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
есть категории для которых есть пункты меню, и для них можно настроить модулю, стили контента, а есть категории для которых нет пунктов меню, но настроить модули и стили тоже нужно
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
нужно что-то такое:
if (isset ($content->blog)){....
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
ну допустим половину из написанного я примерно понял
но причем тут Referer? и как это соотносится с "но настроить модули и стили тоже нужно"?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Referer это была идея, в жизнь непошла...
а упращено задача такая:
есть молуль оторажающий содержимое категории "1" в виде блога, при переходе на весь материал по ссылке "подробнее" нужно отобразить материал без загаловка и в рамочке
и есть молуль оторажающий содержимое категории "2" в виде блога, при переходе на весь материал по
ссылке "подробнее" нужно отобразить материал с заголовком и без рамочки

если есть способ это реализовать, буду благодарен за помощь :)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
самый наименьший геморрой, который я вижу, будет звучать примерно так:
1. в шаблон, там де выводится mainbody (в его контейнер) добавить класс, который будет зависеть ...нууу... можно от id категории, а можно от Itemid - тут уже тебе виднее.
ну например так:
<div id="component" class="blog<?php echo JRequest::getInt('Itemid'); ?>">
   <jdoc:include type="component" />
</div>

2. ну и в CSS шаблона дополнительно описываем с рамочкой и без рамочки :) для разных классов
#component .blog24 {
    ...
}
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
идея хороша но не работает...
JRequest::getInt('Itemid') - выдает id меню, а у меня меню не меняеться...
надо прописывать id категорий, как его вытащить?
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Есть где-ни будь расшифровка параметров для JRequest::getInt?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
ну неужели так сложно глянуть строку запроса?
index.php ? option=com_content & view=section & layout=blog & id=X & Itemid=Y
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Поставить условие в шаблоны вывода материала (components\com_content\views\article\tmpl\default.php)
if (JRequest::getInt('catid') == 'указать id категории') {
...
} else {
...
}
;
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Есть где-ни будь расшифровка параметров для JRequest::getInt?
http://api.joomla.org/Joomla-Framework/Environment/JResponse.html
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
наверно я неправильно выразился...

меня интересует список значений каторе принимает переменая $name 
 
getVar (line 94)
Fetches and returns a given variable.


The default behaviour is fetching variables depending on the current request method: GET and HEAD will result in returning an entry from $_GET, POST and PUT will result in returning an entry from $_POST.

You can force the source by setting the $hash parameter:

post $_POST get $_GET files $_FILES cookie $_COOKIE env $_ENV server $_SERVER method via current $_SERVER['REQUEST_METHOD'] default $_REQUEST


■return: Requested variable
■since: 1.5
mixed getVar (string $name, [string $default = null], [string $hash = 'default'], [string $type = 'none'], int $mask)
■string $name: Variable name
■string $default: Default value if the variable does not exist
■string $hash: Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
■string $type: Return type for the variable, for valid values see JFilterInput::clean()
■int $mask: Filter mask for the variable


*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
index.php ? option=com_content & view=section & layout=blog & id=X & Itemid=Y
Itemid = id меню
id = id материала
меня интересует id категории
+ у меня включен seo, запрос невидно...
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
JRequest::getInt('catid')
выдает все время ноль :(
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
id = id материала
ну флаг в руки, если ты так считаешь

выдает все время ноль :(
что есть естественно
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Ну если нужно анализировать blog это или нет, то все карты тебе в руки через getVar:
Код
if (JRequest::getVar('layout') == 'blog') {}
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
серия тестов показала:
если выводить блог категорий то JRequest::getInt('id') возвращает id категории, если выводить материал то JRequest::getInt('id') возвращает id материала, JRequest::getInt('catid') сабильно возвращает ноль независимо от того что происходит с сайтом, только непонятно почему "естествено"...
Фуфул товарищи... нету простого способа узнать категорию... и снова через ж*** к гландам... надо через JRequest::getVar('view') проверить выводиться "материал" или "блог категории", если материал то по id  материала узнавать какой категории он пренадлежит и потом сравнивать с нужной категорией...
я растроен :(...
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
я понял JRequest это просто api позволяющий удбно анализировать url текущей страницы, никаких высоких материй нету  :laugh:
судя по всему движек Joomla вообще никак и нигде нефиксирует что он выгрузил и в каком сейчас состоянии страница crazy! :laugh:
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
что есть естественно
Я писал для стандартного компонента com_content. С блога в ссылке на материал параметр catid присутствует.

Про то как это все реализовать писал выше читайте внимательней!
*

Svyat

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Про то как это все реализовать писал выше читайте внимательней!
Виноват, гоню :)
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Поставить условие в шаблоны вывода материала (components\com_content\views\article\tmpl\default.php)
if (JRequest::getInt('catid') == 'указать id категории') {
...
} else {
...
}
;

Как заставить работать этот код? Как таки вытащить id категории в блоге категории?
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Как заставить работать этот код? Как таки вытащить id категории в блоге категории?
бл* почитал и  о**ел :)
это ты мне говоришь товарисчь?  :)

Smokerman, соблюдаем правила приличия
« Последнее редактирование: 31.01.2010, 06:13:02 от Вязной »
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
это ты мне говоришь товарисчь?  :)
Вам, если сможете помочь конечно :) Пытаюсь таким способом в зависимости от категории выводить разные варианты шаблона (файл blog_items.php для категории). Покамест никак не удаётся вытащить id категории..
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Вам, если сможете помочь конечно :)
Помочь конечно не смогу. Это дело великих.
Сори за мат вчера перебрал малехо :)
components\com_content\views\category\view.html.php
добавляем
Код
		// Request variables
$layout     = JRequest::getCmd('layout');
$task = JRequest::getCmd('task');
$id = JRequest::getInt('id');
if (($id == ID КАТЕГОРИИ) && ($layout == 'blog')) {
$tpl = 'mytample';
}

Создаем файл шаблон components\com_content\views\category\tmpl\blog_mytample.php

При совпадении id категории вместо blog_items.php будет шаблон blog_mytample.php.


*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Да ладно, я в час ночи тоже, бывает, путаюсь в мыслях :)

Добавил в components\com_content\views\category\view.html.php
Цитировать
      // Request variables
      $layout     = JRequest::getCmd('layout');
      $task      = JRequest::getCmd('task');
      $id         = JRequest::getInt('id');
      if (($id == 1) && ($layout == 'blog')) {
         $tpl = 'hotels';
      }
      if (($id == 2) && ($layout == 'blog')) {
         $tpl = 'tours';
      }
Создал в components\com_content\views\category\tmpl\ шаблоны "blog_hotels" и "blog_tours".
В итоге работает шаблон blog_items.
Создал там же шаблоны "hotels" и "tours" - итог тот же.
Создал все 4 файла в templates/turindex_tmpl/html/com_content/category/ - итог тот же.

Где я не прав?
« Последнее редактирование: 30.01.2010, 23:28:07 от archer1981 »
http://walkspb.ru - Энциклопедия Санкт-Петербурга
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль для вывода материала

Автор Kovryga

Ответов: 10
Просмотров: 3711
Последний ответ 16.06.2015, 21:28:29
от anoorik
Проблема вывода формы в модальном окне

Автор bug73

Ответов: 3
Просмотров: 1489
Последний ответ 16.03.2015, 22:04:08
от fsv
[Решено] Модуль вывода новостей с картинками для Joomla 1.5

Автор DizainerGazeti

Ответов: 21
Просмотров: 4585
Последний ответ 13.10.2014, 17:49:48
от DizainerGazeti
Создание модального окона с эффектом lightbox для вывода плагинов

Автор Timerlan

Ответов: 3
Просмотров: 1727
Последний ответ 03.09.2014, 15:20:44
от aspidy
Отображение содержимого сайта поисковым роботом

Автор Atalla

Ответов: 0
Просмотров: 1156
Последний ответ 08.04.2014, 01:18:59
от Atalla