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

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Господа, столкнулся с проблемой.
Компонент com_musicol (Music Collection)
$link_song; - это ссылка на страницу с текстом песни.
echo $this->songs[$i]->name; - так идентифицируется песня
Надо чтото прописать там где ##### в джаваскрипте, что бы в отдельном окне открывалась страница с текстом нужной песни. Код внизу. Шаманы ПХП, направьте на путь истинный))
Код
		
<script language="JavaScript">
<!-- hide

function openWin2() {
  myWin= open("#####", "displayWindow",
    "width=300,height=500,status=no,toolbar=no,menubar=no");
}

// -->
</script>

<td><a href="<? echo $link_song; ?>"><? echo $this->songs[$i]->name; ?>&nbsp;&nbsp;&nbsp;</a><input type="button" name="<? echo $link_song; ?>" class="button" value="<? echo JText::_('text'); ?>" onClick="openWin2()"></td>

Пробовал вместо##### указать <? echo $link_song; ?> - открывается всегда страница с тектом последней песни в списке, а надо чтобы конкретная песня - конкретная страница с текстом
ссылко на страничку сайта http://joomlassistant.rbwest.ru/index.php?option=com_muscol&view=songs&id=3&Itemid=34
« Последнее редактирование: 04.03.2010, 14:55:33 от Шмайсер »
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
так скорей всего так и не получится, ведь ссылка ведет на страницу описания объекта целиком (как я понимаю)
я бы добавил отдельный таск в компонент, который отдавал бы по id объекта только определенный элемент (текст) и этот таск подставлять в ссылку
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Цитировать
ведь ссылка ведет на страницу описания объекта целиком (как я понимаю)
ага, но это то бы и ладно, там на странице будет только текст песни, и она даже открывается ( правда щас пробую по разному и в данный момент вывода текста нет никакого). Но фича в том, что открывается всегда последняя песня из списка.
А как task назначить? мне бы кстати так больше подошло, на самом деле.
Вывод текста песен идет в другом файле компонента, выводиться вот так

Код
<div align='center'>
<table>
    <tr>
        <td class='lyrics'>
            <?php echo $this->song->lyrics; ?>
            </td>
        </tr>
    </table>
<br/>
</div>
а вот как его в файл со списком песен перенести и назначить на него task - не знаю))
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Цитировать
Вывод текста песен идет в другом файле компонента, выводиться вот так
значит нужно найти функцию вывода лирики либо что еще проще - изучить урл, который на нее ведет, что нить типа
index.php?option=music&task=textsong&id=122, не уверен что так, но это логично, что могу придумать с ходу :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
 линк на лирику вот такой

Код
$link_song = JRoute::_('index.php?option=com_muscol&view=song&id='. $this->songs[$i]->id . $itemid);
ну тоесть это ссылка на другой файл, в котором уже вывод лирики. А вот как его в отдельном окне открыть - ?
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
ну тоесть это ссылка на другой файл, в котором уже вывод лирики. А вот как его в отдельном окне открыть - ?
эта ссылка отдает в component только текст? Тогда добавляй к ссылке no_html=1 (чтобы только контент отдавал без прочего, index2.php по другому), в своем скрипте вставляй ссылку и отдавай нужный id
Код: html4strict
<script language="JavaScript">
<!-- hide

function openWin2() {
  myWin= open("#####", "displayWindow",
    "width=300,height=500,status=no,toolbar=no,menubar=no");
}

// -->
</script>
<?php
$link_song = JRoute::_('index.php?option=com_muscol&view=song&id='. $this->songs[$i]->id . $itemid);
?>

<td><a href="<? echo $link_song; ?>"><? echo $this->songs[$i]->name; ?>&nbsp;&nbsp;&nbsp;</a><input type="button" name="<? echo $link_song; ?>" class="button" value="<? echo JText::_('text'); ?>" onClick="openWin2()"></td>
и по клику он тебе будет отдавать текст. И я бы вообще прикрутил какой нить lightbox, не люблю стандартные попапы, которые кстати с легкостью могут быть у тебя заблокированы в браузере антивирусом или еще чем
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Цитировать
И я бы вообще прикрутил какой нить lightbox
да, я правда хочу на highslide попробовать, уже даже нашел в форуме ветку где описывается как сделать, но сейчас хотябы чтобы в попе-апе выводилось правильно)) а там уже буду красивостью заниматся, это уже не проблема))
а вот с ссылкой как ты в коде привел я пробовал, только вот тут
Код
<script language="JavaScript">
<!-- hide
 
function openWin2() {
  myWin= open("#####", "displayWindow",
    "width=300,height=500,status=no,toolbar=no,menubar=no");
}
 
// -->
</script>
вместо ##### что прописывать?
<? echo $link_song; ?> - выводит строго последнюю песню. а не ту, на которой кликаешь...
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
$link_song у тебя должен выводить текст по объекту, проверь что this->songs[$i]->id для каждой ссылки соответствует реальному ID, иначе не знаю что за баг
У тебя кнопка срабатывает на функцию onClick="openWin2(), соответственно в JS тоже должна отдаваться ссылка $link_song
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
а target="_blank" не катит :)
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
таргет бланк - не, не катит))
вот попробовал такую фишку
Код
<a href="javascript:void(0)" onclick="openWin2('<? echo $link_song; ?>','openWin2');"><? echo JText::_('text'); ?></a>
тоже не работает - пустое попап окно открывает

Цитировать
срабатывает на функцию onClick="openWin2(), соответственно в JS тоже должна отдаваться ссылка $link_song
могу ошибаться, но мне кажется от кнопки не передается в джаву id песни, вернее передается - но как то неправильно ( только последняя), или вообще массив списка песен... как то так чтоль
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
А вот в этом коде может собака быть порыта?
Код
<? $k = 1; 
for ($i = 0, $n=count( $this->songs ); $i < $n; $i++) {
$link_song = JRoute::_('index.php?option=com_muscol&view=song&id='. $this->songs[$i]->id . $itemid);
$link_album = JRoute::_('index.php?option=com_muscol&view=album&id='. $this->songs[$i]->album_id . $itemid);
$file_link = JRoute::_( 'index.php?option=com_muscol&view=file&format=raw&id='. $this->songs[$i]->id ); ?>
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
тоже не работает - пустое попап окно открывает
что есть естественно :)
у тебя бредовая функция в JS и ты ей никакие значения не передаешь.
Пробуй так.
Код
<script language=javascript>
<!--
function openWin2(URL) {
win1=window.open(URL,'popup','width=120,height=130');
}
//-->
</script>

onClick="openWin2('<? echo $link_song; ?>')"
Возможно заработает, но думаю будет отдавать сайт целиком, для этого к ссылке нужно добавить &format=raw, что бы отдавал только компонент.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
ага, сейчас попробую))
а вот beliyadm предложил к ссылке добавлять вот это  no_html=1 - чтобы только контент отдавался, это тоже самое что и &format=raw
или разное? И самое главное - как в ссылке его добавлять? no_html=1 попробовал и так и так - отдается страница целиком..
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
SmokerMan
я наверное чтото неправильно сделал?))) url-ы как правильно указывать, ткни пальцем еси не трудно))
Код
<script language=javascript>
<!--
function openWin2(URL) {
win1=window.open(<? echo $link_song; ?>,'popup','width=300,height=400');
}
//-->
</script>
        <td><a href="<? echo $link_song; ?>"><? echo $this->songs[$i]->name; ?>&nbsp;&nbsp;&nbsp;</a><a onClick="openWin2('<? echo $link_song; ?>')"><? echo JText::_('text'); ?></a></td>
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
$link_song = JRoute::_('index.php?option=com_muscol&view=song&tmpl=component&id='. $this->songs[$i]->id . $itemid);
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Пробуй так
$link_song = JRoute::_('index.php?option=com_muscol&view=song&format=raw&id='. $this->songs[$i]->id . $itemid);
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Lex, точно, я амперсенд после нее забывал)) спасибо!
а все таки, как тут то правильно урлы ставить?
Код
<script language=javascript>
<!--
function openWin2(URL) {
win1=window.open(<? echo $link_song; ?>,'popup','width=300,height=400');
}
//-->
</script>
        <td><a href="<? echo $link_song; ?>"><? echo $this->songs[$i]->name; ?>&nbsp;&nbsp;&nbsp;</a><a onClick="openWin2('<? echo $link_song; ?>')"><? echo JText::_('text'); ?></a></td>
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
а все таки, как тут то правильно урлы ставить?
где ставить?
я же тебе написал
Цитировать
function openWin2(URL) {
win1=window.open(URL,'popup','width=120,height=130');
так и оставляй.
А где идет цикл с песнями для них пишешь
Код
<a href="<? echo $link_song; ?>"><? echo $this->songs[$i]->name; ?>&nbsp;&nbsp;&nbsp;</a><a onClick="openWin2('<? echo $link_song; ?>')"><? echo JText::_('text'); ?></a>

*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
 ;)
Код: php
<?php
$modalparams = array('size'=>array('x'=>300, 'y'=>300));
JHTML::_('behavior.modal', 'a.modal', $modalparams);
$link = JRoute::_($link_song = JRoute::_('index.php?option=com_muscol&view=song&tmpl=component&id='. $this->songs[$i]->id . $itemid);
echo  '<a href="'.$link.'" class="modal" title="'.JText::_( 'Show link' ).'" rel="{handler: \'iframe\'}">Нажать</a>';
?>
« Последнее редактирование: 04.03.2010, 20:52:09 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Камрады, спасибо всем огромное! Работает!
Скво хочет музыкальный сайт, вот хочу подарок ей на 8 марта сделать)
Еще раз всем спасибо!
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
А вот еще вопрос в ту же тему - окошко с текстом песни появляется, но если текст длинный, то он обрывается на нижней границе окна.
Делал так
Код
function openWin2(URL) {
win1=window.open(URL,'popup','toolbar=yes,location=yes,scrollbar=1,resizable=yes,width=400,height=800');
}
пробовал варианты scrollbar=yes, scrolling=yes,scrolling=1
не помогает. Нет скрола. Подскажите, как сделать полосу прокрутки в поп-ап окне?
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
SmokerMan, крассава)) спасибо!
а это как то зависит от функции, scrollbar или scrollbars? потому что я как то делал в похожей функции scrollbar=yes  и все работало.
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Да нет такого scrollbar
Читай
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
За ссылку отдельный тотальный сенкс!
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
И еще вопросец по тому же вопросу - окно popup можно как то сделать несворачивающимся? Тоесть, объясняю для чего. Юзер зашел на страницу со списком песен. Нажал кнопочку, которая вызывает поп-ап с текстом песни. А потом нажал прослушку плеера на основной странице ( в списке песен)  и попап исчезает. Уходит под окно основной страницы. А хотелось бы чтоб оставался. Или это нереально?
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменить страницу "Default"

Автор virusvvv

Ответов: 4
Просмотров: 1756
Последний ответ 12.01.2017, 14:48:08
от virusvvv
Как сделать, чтобы внутренняя страница не показывалась в качестве главной?

Автор kpripper

Ответов: 21
Просмотров: 2555
Последний ответ 19.03.2016, 16:51:11
от flyingspook
Как сделать чтобы материал с Главной открывался на другой странице?

Автор Netman_avs

Ответов: 4
Просмотров: 2807
Последний ответ 31.10.2015, 20:45:36
от almendeef
При сохранении выбрасывает из панели управления на главную страницу сайта

Автор Gemini

Ответов: 3
Просмотров: 1641
Последний ответ 14.08.2015, 14:41:20
от flyingspook
Как сделать страницу захвата?

Автор lamer77

Ответов: 0
Просмотров: 1237
Последний ответ 15.07.2015, 02:33:11
от lamer77