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

a159cm

  • Захожу иногда
  • 71
  • 0 / 0
Сломал голову уже 3 раза!
« : 12.08.2018, 19:58:06 »
Здрасьте! Стоит Joomla 3.8.11 + Dj classfields 3.7.3.
Вот сайт http://nedros.ru
В категориях отображается дата в формате Y-m-d H:i:s

Как сделать дату в формате d.m.Y H:i ?

В настройках это не меняется, т.к. код был закомментирован отвечающий за вывод даты в виде "блог".
Перерыл весь компонент, куча везде кода в формате Y-m-d H:i:s, пробовал массово менять, результата не дало!
В языковых файлах тоже меня и в русских и в английских - не помогло..

ПОМОГИТЕ ПЛИЗ!
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Сломал голову уже 3 раза!
« Ответ #1 : 12.08.2018, 20:24:48 »
С датой ни каких действие не производится. В базе дата с временем хранится как раз в таком формате Y-m-d H:i:s.
Перед вывод напиши
Код
<?php $date_start = new DateTime($i->date_start); ?>
и там где надо выводить напиши
Код: php
<?php echo $date_start->format('d.m.Y H:i'); ?>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

a159cm

  • Захожу иногда
  • 71
  • 0 / 0
Re: Сломал голову уже 3 раза!
« Ответ #2 : 12.08.2018, 20:26:28 »
Сейчас дата выводится таким кодом

Код
if($par->get('column_date_a','1')){
echo '<div class="date_start"><span class="label_title"></span>'.$i->date_start.'</div>';
}

Т.е. можно его выкинуть и поставить Ваш?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Сломал голову уже 3 раза!
« Ответ #3 : 12.08.2018, 20:29:14 »
Лучше сделать вот так
Код
if($par->get('column_date_a','1')){
$date_start = new DateTime($i->date_start);
echo '<div class="date_start"><span class="label_title"></span>'.$date_start->format('d.m.Y H:i').'</div>';
}
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

a159cm

  • Захожу иногда
  • 71
  • 0 / 0
Re: Сломал голову уже 3 раза!
« Ответ #4 : 12.08.2018, 20:51:30 »
ОГРОМНОЕ СПАСИБО! Помогло!
*

a159cm

  • Захожу иногда
  • 71
  • 0 / 0
Re: Сломал голову уже 3 раза!
« Ответ #5 : 12.08.2018, 20:58:41 »
Вот тоже не соображу, как сделать сортировку не выпадающим списком, а кнопками, может подскажете еще? Ну чтоб нажимаешь на кнопку "по цене" отсортировалось по убыванию, еще раз нажал, сортировка по возрастанию.. а то выпадающий список смотрится как в прошлом веке..
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Сломал голову уже 3 раза!
« Ответ #6 : 12.08.2018, 21:06:33 »
Вот тоже не соображу, как сделать сортировку не выпадающим списком, а кнопками, может подскажете еще? Ну чтоб нажимаешь на кнопку "по цене" отсортировалось по убыванию, еще раз нажал, сортировка по возрастанию.. а то выпадающий список смотрится как в прошлом веке..
В твоем файле blog.php есть код
Код
<select autocomplete="off" id="blogorder_select" class="inputbox" >
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

a159cm

  • Захожу иногда
  • 71
  • 0 / 0
Re: Сломал голову уже 3 раза!
« Ответ #7 : 12.08.2018, 21:45:01 »
Была б таблица HTML я б с ней разобрался.. а там сортировка
Код
<select id="blogorder_select" class="inputbox" >
<?php
foreach($blog_sort_v as $sort_v){
$option_selected = '';
if($order==$sort_v && $ord_t=='asc'){
$option_selected = 'selected="SELECTED"';
}
echo '<option value="'.$sort_v.'-asc" '.$option_selected.' >';
echo JText::_('COM_DJCLASSIFIEDS_SORT_BY').' ';
if($sort_v=='date_a'){ echo JText::_('COM_DJCLASSIFIEDS_DATE_ADDED');
}else if($sort_v=='date_sort'){ echo JText::_('COM_DJCLASSIFIEDS_DATE_EXPIRATION');
}else if($sort_v=='title'){ echo JText::_('COM_DJCLASSIFIEDS_TITLE');
}else if($sort_v=='cat'){ echo JText::_('COM_DJCLASSIFIEDS_CATEGORY');
}else if($sort_v=='loc'){ echo JText::_('COM_DJCLASSIFIEDS_LOCALIZATION');
}else if($sort_v=='price'){ echo JText::_('COM_DJCLASSIFIEDS_PRICE');
}else if($sort_v=='display'){ echo JText::_('COM_DJCLASSIFIEDS_DISPLAYED');
}else if($sort_v=='distance'){ echo JText::_('COM_DJCLASSIFIEDS_DISTANCE'); }
else{echo $sort_v;}
echo ' '.JText::_('COM_DJCLASSIFIEDS_SORT_BY_ASC');
echo  '</option>';

$option_selected = '';
if($order==$sort_v && $ord_t=='desc'){
$option_selected = 'selected="SELECTED"';
}

echo '<option value="'.$sort_v.'-desc" '.$option_selected.' >';
echo JText::_('COM_DJCLASSIFIEDS_SORT_BY').' ';
if($sort_v=='date_a'){ echo JText::_('COM_DJCLASSIFIEDS_DATE_ADDED');
}else if($sort_v=='date_sort'){ echo JText::_('COM_DJCLASSIFIEDS_DATE_EXPIRATION');
}else if($sort_v=='title'){ echo JText::_('COM_DJCLASSIFIEDS_TITLE');
}else if($sort_v=='cat'){ echo JText::_('COM_DJCLASSIFIEDS_CATEGORY');
}else if($sort_v=='loc'){ echo JText::_('COM_DJCLASSIFIEDS_LOCALIZATION');
}else if($sort_v=='price'){ echo JText::_('COM_DJCLASSIFIEDS_PRICE');
}else if($sort_v=='display'){ echo JText::_('COM_DJCLASSIFIEDS_DISPLAYED');
}else if($sort_v=='distance'){ echo JText::_('COM_DJCLASSIFIEDS_DISTANCE'); }
else{echo $sort_v;}
echo ' '.JText::_('COM_DJCLASSIFIEDS_SORT_BY_DESC');
echo  '</option>';
}
?>
</select>
таким кодом..
Направьте пожалуйста..
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Сломал голову уже 3 раза!
« Ответ #8 : 13.08.2018, 06:28:46 »
Заменяй полностью select, два нижних поля с id blogorder_v и blogorder_t_v, и небольшой javascript
Код
<div class="blogorder_select">
<?php
foreach($blog_sort_v as $sort_v){
$span_class = 'class="order-span'.($order == $sort_v ? ' active' : '').'"';
echo '<span data-order="'.$sort_v.'" data-key="'.($ord_t == 'asc' ? 'desc' : 'acs').'" '.$span_class.'>';
echo JText::_('COM_DJCLASSIFIEDS_SORT_BY').' ';
if($sort_v=='date_a') { echo JText::_('COM_DJCLASSIFIEDS_DATE_ADDED');
} else if($sort_v=='date_sort') { echo JText::_('COM_DJCLASSIFIEDS_DATE_EXPIRATION');
} else if($sort_v=='title') { echo JText::_('COM_DJCLASSIFIEDS_TITLE');
} else if($sort_v=='cat') { echo JText::_('COM_DJCLASSIFIEDS_CATEGORY');
} else if($sort_v=='loc') { echo JText::_('COM_DJCLASSIFIEDS_LOCALIZATION');
} else if($sort_v=='price') { echo JText::_('COM_DJCLASSIFIEDS_PRICE');
} else if($sort_v=='display') { echo JText::_('COM_DJCLASSIFIEDS_DISPLAYED');
} else if($sort_v=='distance') { echo JText::_('COM_DJCLASSIFIEDS_DISTANCE'); }
else { echo $sort_v; }
echo ' '.JText::_('COM_DJCLASSIFIEDS_SORT_BY_ASC');
echo  '</span>';
}
?>
</div>
<input type="hidden" name="order" id="blogorder_v" value="<?php echo $order;?>" />
<input type="hidden" name="ord_t" id="blogorder_t_v" value="<?php echo $ord_t;?>" />
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
"use strict";

var span_order = document.id('blogorder_select > span');
span_order.addEvent('click',function(event){
event.preventDefault();

var order = event.target.getAttribute('data-order'),
key = event.target.getAttribute('data-key');

document.id('blogorder_v').value = order;
document.id('blogorder_t_v').value = key;
document.id('djblogsort_form').submit();
})
});
</script>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

a159cm

  • Захожу иногда
  • 71
  • 0 / 0
Re: Сломал голову уже 3 раза!
« Ответ #9 : 13.08.2018, 18:31:18 »
Заменяй полностью select, два нижних поля с id blogorder_v и blogorder_t_v, и небольшой javascript
Код
<div class="blogorder_select">
<?php
foreach($blog_sort_v as $sort_v){
$span_class = 'class="order-span'.($order == $sort_v ? ' active' : '').'"';
echo '<span data-order="'.$sort_v.'" data-key="'.($ord_t == 'asc' ? 'desc' : 'acs').'" '.$span_class.'>';
echo JText::_('COM_DJCLASSIFIEDS_SORT_BY').' ';
if($sort_v=='date_a') { echo JText::_('COM_DJCLASSIFIEDS_DATE_ADDED');
} else if($sort_v=='date_sort') { echo JText::_('COM_DJCLASSIFIEDS_DATE_EXPIRATION');
} else if($sort_v=='title') { echo JText::_('COM_DJCLASSIFIEDS_TITLE');
} else if($sort_v=='cat') { echo JText::_('COM_DJCLASSIFIEDS_CATEGORY');
} else if($sort_v=='loc') { echo JText::_('COM_DJCLASSIFIEDS_LOCALIZATION');
} else if($sort_v=='price') { echo JText::_('COM_DJCLASSIFIEDS_PRICE');
} else if($sort_v=='display') { echo JText::_('COM_DJCLASSIFIEDS_DISPLAYED');
} else if($sort_v=='distance') { echo JText::_('COM_DJCLASSIFIEDS_DISTANCE'); }
else { echo $sort_v; }
echo ' '.JText::_('COM_DJCLASSIFIEDS_SORT_BY_ASC');
echo  '</span>';
}
?>
</div>
<input type="hidden" name="order" id="blogorder_v" value="<?php echo $order;?>" />
<input type="hidden" name="ord_t" id="blogorder_t_v" value="<?php echo $ord_t;?>" />
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
"use strict";

var span_order = document.id('blogorder_select > span');
span_order.addEvent('click',function(event){
event.preventDefault();

var order = event.target.getAttribute('data-order'),
key = event.target.getAttribute('data-key');

document.id('blogorder_v').value = order;
document.id('blogorder_t_v').value = key;
document.id('djblogsort_form').submit();
})
});
</script>

Заменил, но на сайте остался только текст "Цена по возрастанию Дата добавления по возрастанию
" и больше ничего!
Не пойму как поправить?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изображение выше материала (сломал голову)

Автор Kelman

Ответов: 11
Просмотров: 950
Последний ответ 21.02.2021, 22:08:27
от Kelman
[РЕШЕНО]Вход со второго раза. Маркер безопасности не прошел проверку

Автор Artem677

Ответов: 18
Просмотров: 6007
Последний ответ 05.12.2019, 14:58:54
от Artem677
Установить один плагин 2 раза

Автор Gerostrat

Ответов: 14
Просмотров: 1041
Последний ответ 24.02.2019, 22:45:34
от zikkuratvk
Вставить в голову :D

Автор roma1016626

Ответов: 4
Просмотров: 989
Последний ответ 06.11.2016, 13:40:49
от roma1016626
Вход в админку Joomla со второго раза

Автор Lemonez

Ответов: 11
Просмотров: 1075
Последний ответ 12.09.2016, 16:08:04
от Lemonez