Новости Joomla

Перевод и публикация интервью с 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

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

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Подскажите как подключить плагин bootstrap - вот выдержка с сайта

Через JavaScript
Вызов плагина dropdowns через JavaScript:

$('.dropdown-toggle').dropdown()

Это в index.php прописывать надо?

Прописал код с сайта bootstrap в index.php для вывода меню - но DROPDOWN не работает, думаю починить плагином, но как подключить?

<!-- Nav -->
    <?php if ($this->countModules('nav')): ?>
    <div class="navbar">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="#"><?php echo $sitename ?></a>
          <div class="nav-collapse collapse">
            <jdoc:include type="modules" name="nav" style="none" />
          </div>
        </div>
      </div>
    </div><!--End navbar-->

Как сделать чтобы меню с этим кодом dropdown поддерживало?
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #1 : 17.11.2015, 08:53:54 »
какой код вписать в индекс php чтобы при наведении мыши на пункт меню вылезали подпункты? или модуль меню править надо? используется стандартный модуль меню выведенный кодом выше с помощью bootstrap 3
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #2 : 17.11.2015, 11:24:50 »
<a class="btn btn-navbar btn-default" data-toggle="collapse" data-target=".nav-collapse">


Подскажи пожалуйста куда это прописать?
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #3 : 17.11.2015, 11:25:31 »
http://iduglich.ru/

вот сайт, вставил в index.php твой код - все равно не выпадает, там под кнопку Статья сделан родительский подпункт.
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #4 : 17.11.2015, 11:29:27 »
<a class="btn btn-navbar btn-default" data-toggle="collapse" data-target=".nav-collapse">
 блин ты уже это в код вставвил, все равно не пашет
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #5 : 17.11.2015, 12:44:34 »
Вроде сделал - убрад из индекс PHP моего самодельного шаблона строки

<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/bootstrap.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/bootstrap.min.js"></script>

тогда остается только подгружаемый самой системой

<script src="/media/jui/js/bootstrap.min.js" type="text/javascript"></script>

Все правильно сделал? но все равно не пашет
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #6 : 17.11.2015, 12:45:33 »
может надо было наоборот только убрать строку которую оставил? а те вернуть?

какой плагин отвечает за вывод этой строки с подгрузкой bootstrap?
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #7 : 17.11.2015, 13:26:04 »
http://joomlaforum.ru/index.php/topic,281025.msg1397350.html#msg1397350

вставил в index.php код отсюда, появилась стрелочка в меню - но непашит паскудина
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #8 : 17.11.2015, 13:39:37 »
охренеть... ща попробую, не ругайте начинающий. надоело покупное хочу свой шаблон сделать
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #9 : 17.11.2015, 13:50:11 »
вообще оставить один файл bootstrap.min.css или просто убрать bootstrap.css? просто в архива с сайта bootstrap идет в комплекте 4 CSS файла, я и подумал что все 4 надо подключать
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #10 : 17.11.2015, 13:51:43 »
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/bootstrap-responsive.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/bootstrap-responsive.min.css" type="text/css" />

в смысле эти файлы тоже убирать?
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #11 : 17.11.2015, 19:49:13 »
Подскажи пожалуйста первый вариант в index.php прописывать? и обернуть наверно

<script type="text/javascript">

</script>
   
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #12 : 17.11.2015, 20:01:15 »
Прописал в индекс PHP

Код
jQuery.noConflict();
jQuery(document).ready(function() {

//add class
jQuery('ul.nav-child').addClass('dropdown-menu');
jQuery('li.parent').addClass('dropdown');
jQuery('li.parent>a').addClass('dropdown-toggle').attr('data-toggle', 'dropdown');

});

там же прописано для меню

Код
          <?php if ($this->countModules('nav')): ?>
    <div class="navbar">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar btn-default" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="#"><?php echo $sitename ?></a>
          <div class="nav-collapse collapse">
            <jdoc:include type="modules" name="nav" style="none" />
          </div>
        </div>
      </div>
    </div>
    <?php endif; ?>

Все равно не пашет, в чем беда не знаю, из bootstrap.css подключил тока

<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/bootstrap.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/bootstrap-responsive.css" type="text/css" />
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #13 : 17.11.2015, 20:03:11 »
Плюсанул спасибо за помошь, тока в каких файлах это прописывать?

2. Подключите в начале шаблона переменные (если подключены уже - то не надо)
Код:
$app = JFactory::getApplication ();
$doc = JFactory::getDocument ();

3. подключить в своем шаблоне (После подключения jQuery):
Код:
// Add Java Scripts
$doc->addScript ( $this->baseurl . '/templates/' . $this->template . '/js/script.js' );
*

Mehanick

  • Давно я тут
  • 846
  • 5 / 0
Re: Как подключить плагин bootstrap?
« Ответ #14 : 18.11.2015, 10:11:00 »
1. спасибо уже прогресс, сделал как написали, появилась стрелочка и при нажатии на кнопку уже появляется подкнока, правда сразу исчезает, при наведении так и не работает к сожалению.

2. не совсем понял, в чем разница подключений файлов в index.php

Я использую индекс, взятый из урока http://joomlateach.info/index.php/shablony/verstka/item/74-indexphp-head
изменил только вывод позиции nav согласно bootstrap

Там подключение фалов идет так:

<link rel="stylesheet" href='<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/bootstrap.css' type="text/css" media="screen" />
<script type="text/javascript" src="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/bootstrap.min.js"></script>

А в индекс php дефолтного шаблона  Protostar это делается так:

Код
$app             = JFactory::getApplication();
$doc             = JFactory::getDocument();

Затем ниже

Код
// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/template.js');

// Add Stylesheets
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/template.css');

// Load optional RTL Bootstrap CSS
JHtml::_('bootstrap.loadCss', false, $this->direction);

Какой все же способ правильный? или и так и так можно?
« Последнее редактирование: 18.11.2015, 10:20:34 от Mehanick »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Карусель Bootstrap5 как подключить

Автор Alex Kop

Ответов: 1
Просмотров: 849
Последний ответ 11.02.2022, 10:11:23
от Alex Kop
Как убрать из URL знак решётка, меню Bootstrap?

Автор leo78

Ответов: 1
Просмотров: 1030
Последний ответ 14.05.2021, 11:43:07
от leo78
Как вызвать стандартную форму обратной связи в модальном окне bootstrap 3?

Автор Konstantin124

Ответов: 10
Просмотров: 5706
Последний ответ 23.04.2019, 05:49:18
от RTEagle
Кто-нибудь пробовал писать шаблон с Bootstrap 3?

Автор avex

Ответов: 57
Просмотров: 25774
Последний ответ 25.12.2018, 04:43:34
от BeZLiKiy
Создание шаблона Joomla 3 с использованием bootstrap

Автор lindim

Ответов: 31
Просмотров: 49946
Последний ответ 09.09.2018, 07:12:17
от AlekVolsk