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

Yarivan

  • Новичок
  • 4
  • 0 / 0
Удалить ссылку
« : 18.11.2018, 15:38:33 »
Добрый день, уважаемые специалисты.
Подскажите пожалуйста, как можно удалить ссылку, которая установилась вместо счетчика посещений.
http://компанияпрометей.рф]
Внизу страницы.
Ссылка на сайт, якобы cy-pr.
Перелопатил все файлы своего сайта, но не могу найти, где прописаны эта ссылка и изображение.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Удалить ссылку
« Ответ #1 : 18.11.2018, 15:48:26 »
Покажи файл JPATH_SITE/templates/protostar/index.php
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Yarivan

  • Новичок
  • 4
  • 0 / 0
Re: Удалить ссылку
« Ответ #2 : 18.11.2018, 18:02:27 »
К сожалению, не знаю, как прикрепить файл.
Пришлось скопировать его содержимое.
Заранее благодарен.

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  Templates.protostar
 *
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Getting params from template
$params = JFactory::getApplication()->getTemplate(true)->params;

$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;

// Detecting Active Variables
$option   = $app->input->getCmd('option', '');
$view     = $app->input->getCmd('view', '');
$layout   = $app->input->getCmd('layout', '');
$task     = $app->input->getCmd('task', '');
$itemid   = $app->input->getCmd('Itemid', '');
$sitename = $app->getCfg('sitename');

if($task == "edit" || $layout == "form" )
{
   $fullWidth = 1;
}
else
{
   $fullWidth = 0;
}

// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');

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

// Load optional rtl Bootstrap CSS and Bootstrap bugfixes
JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);

// Add current user information
$user = JFactory::getUser();

// Adjusting content width
if ($this->countModules('position-7') && $this->countModules('position-8'))
{
   $span = "span6";
}
elseif ($this->countModules('position-7') && !$this->countModules('position-8'))
{
   $span = "span9";
}
elseif (!$this->countModules('position-7') && $this->countModules('position-8'))
{
   $span = "span9";
}
else
{
   $span = "span12";
}

// Logo file or site title param
if ($this->params->get('logoFile'))
{
   $logo = '<img src="'. JURI::root(). $this->params->get('logoFile').'" alt="'. $sitename .'" />';
}
elseif ($this->params->get('sitetitle'))
{
   $logo = '<span class="site-title" title="'. $sitename .'">'. htmlspecialchars($this->params->get('sitetitle')).'</span>';
}
else
{
   $logo = '<span class="site-title" title="'. $sitename .'">'. $sitename .'</span>';
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <jdoc:include type="head" />
   <?php
   // Use of Google Font
   if ($this->params->get('googleFont'))
   {
   ?>
      <link href='http://fonts.googleapis.com/css?family=<?php echo $this->params->get('googleFontName');?>' rel='stylesheet' type='text/css' />
      <style type="text/css">
         h1,h2,h3,h4,h5,h6,.site-title{
            font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFontName'));?>', sans-serif;
         }
      </style>
   <?php
   }
   ?>
   <?php
   // Template color
   if ($this->params->get('templateColor'))
   {
   ?>
   <?php
   }
   ?>
   <!--[if lt IE 9]>
      <script src="<?php echo $this->baseurl ?>/media/jui/js/html5.js"></script>
   <![endif]-->
</head>

<body class="site <?php echo $option
   . ' view-' . $view
   . ($layout ? ' layout-' . $layout : ' no-layout')
   . ($task ? ' task-' . $task : ' no-task')
   . ($itemid ? ' itemid-' . $itemid : '')
   . ($params->get('fluidContainer')? ' fluid' : '');
?>">


<div class="line_top">
 <div class="line_top_into">
 <div class="left_line_top">
      <?php if ($this->countModules('adres')) : ?>
   <jdoc:include type="modules" name="adres" />
   <?php endif; ?>
 </div>
 <div class="center_line_top">
      <?php if ($this->countModules('telmail')) : ?>
   <jdoc:include type="modules" name="telmail" />
   <?php endif; ?> 
 </div>
 <div class="right_line_top">
 <p class="btn_callback">
     <?php if ($this->countModules('callback')) : ?>
   <jdoc:include type="modules" name="callback" />
   <?php endif; ?>
 </p></div>
 </div>
</div>


<div class="header">
<div class="menu">
    <?php if ($this->countModules('menu')) : ?>
   <div class="menu_into">
   
   <div class="logo">
      <?php if ($this->countModules('logo')) : ?>
   <jdoc:include type="modules" name="logo" />
   <?php endif; ?>
   </div>
   <jdoc:include type="modules" name="menu" style="none" />
   </div>
   <?php endif; ?>
</div>
 <div class="header_into">
 <div class="ramka"></div>
 <div class="textbunner">
      <?php if ($this->countModules('textbunner')) : ?>
   <jdoc:include type="modules" name="textbunner" />
   <?php endif; ?>
 </div>   
 </div>
</div>



<div class="caruselnashaprod">
 <div class="caruselnashaprod_into">
    <?php if ($this->countModules('carus')) : ?>
   <div class="carus"><jdoc:include type="modules" name="carus" style="xhtml" /></div>
   <?php endif; ?>
 </div>
</div>


<div class="pagecontent">
 <table class="tabcontent">
 <tr>
 <td class="lefttd">
 <div class="leftblock">
    <?php if ($this->countModules('leftmenu')) : ?>
   <div class="carus"><jdoc:include type="modules" name="leftmenu" /></div>
   <?php endif; ?>
 </div>
 </td>
 <td class="righttd">
 <div class="rightblock">
 <jdoc:include type="component" />
 </div>
 </td>
 </tr>
 </table>
</div>






<div class="footer">
 <div class="footer_into">
 <div class="logofoot"><a href="/index.php"><img src="templates/protostar/images/logo2.png"></a></div>
    <?php if ($this->countModules('menufooter')) : ?>
    <div class="menufooter"><jdoc:include type="modules" name="menufooter" style="none" /></div>
    <?php endif; ?>
   
   <div class="kontchet">
   <table>      
   <tr>
   <td>
      <?php if ($this->countModules('telfoter')) : ?>
   <jdoc:include type="modules" name="telfoter" />
   <?php endif; ?>    
   </td>
   <td>   
      <?php if ($this->countModules('metrik')) : ?>
   <jdoc:include type="modules" name="metrik" />
   <?php endif; ?>
    </td>   
    </tr>   
   </table>      
   </div>      
 </div>
 <div class="copyright"><div class="copyright_into">
      <?php if ($this->countModules('copyright')) : ?>
   <jdoc:include type="modules" name="copyright" />
   <?php endif; ?>
 </div></div>
</div>   
            
</body>
</html>
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Удалить ссылку
« Ответ #3 : 18.11.2018, 18:05:25 »
Есть предположения что код находится в модуле который выводится в позиции metrik
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Yarivan

  • Новичок
  • 4
  • 0 / 0
Re: Удалить ссылку
« Ответ #4 : 18.11.2018, 18:17:05 »
Я тоже так подумал, но не могу найти модуль metrik в папке moduls.
Там нет модуля metrik.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Удалить ссылку
« Ответ #5 : 18.11.2018, 18:21:03 »
Я тоже так подумал, но не могу найти модуль metrik в папке moduls.
Там нет модуля metrik.
metrik - это позиция модуля, а не его имя...
Смотри в админке по столбцу Позиция
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Yarivan

  • Новичок
  • 4
  • 0 / 0
Re: Удалить ссылку
« Ответ #6 : 18.11.2018, 18:32:23 »
metrik - это позиция модуля, а не его имя...
Смотри в админке по столбцу Позиция
Спасибо. Нашел. Поправил.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать из модуля новостей ссылку на статью, на которой выводится модуль

Автор zeus07

Ответов: 3
Просмотров: 1465
Последний ответ 08.11.2023, 21:17:26
от GrayAn
Удалить авторизацию с фронтенда

Автор sega

Ответов: 13
Просмотров: 6087
Последний ответ 29.10.2023, 15:11:36
от Petrovich
Как удалить позицию модуля в настройках модуля?

Автор 62411

Ответов: 6
Просмотров: 1097
Последний ответ 12.03.2023, 18:24:38
от 62411
Как назначить пункту меню ссылку на категории К2?

Автор kochevnik

Ответов: 1
Просмотров: 712
Последний ответ 12.03.2023, 16:26:44
от kochevnik
Как создать ссылку на категорию в картинке материала?

Автор Mnojitell

Ответов: 0
Просмотров: 1057
Последний ответ 12.01.2023, 14:14:11
от Mnojitell