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

Здраствуйте. Помоги пожалуйста подключить в компанент редактор встроенный в Джужлу по умолчанию. Всем заранее спасибо
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Сначала необходимо получить объект редактора:

Код: php
$editor = &JFactory::getEditor();

Затем в коде, где вам нужно отобразить редактор пишем:

Код: php
<?php echo $editor->display( 'text',  $row->text , '100%', '550', '75', '20' ) ; ?>

Первый параметр функции это название поля формы, второй - значение, которое будет отображено в редакторе,  дальше ширина, высота и количество строк и колонок в редакторе.

При этом, в функции проверки введенных значений необходимо перед тем, как проверять значение поля необходимо вызывать метод:

Код: javascript
var text = <?php echo $editor->getContent( 'text' ); ?>

и уже потом проверять содержимое переменной text, например вот так:

Код: javascript
if (text == ""){
alert( "<?php echo JText::_( 'Article must have some text', true ); ?>" );
}

А когда данные все проверены, непосредственно перед отправкой формы на сервер, необходимо вызывать метод сохранения содержимого редактора:

Код: php
	<?php echo $editor->save( 'text' ); ?>

Подробнее можете посмотреть в /administrator/components/com_content/admin.content.html.php

*

wr123

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Тоже озадачился подобным вопросом. Нашёл как добавить статейку и даже как добавить кнопочки стандартные внизу - изображение, разрыв страници, подробнее.
Код
<?php echo $editor->display( 'text',  $row->text , '100%', '550', '75', '20' , true) ; ?>
Только проблема в том что мне нужна только одна кнопочка ИЗОБРАЖЕНИЕ и я пока не знаю как убрать две другие. Основная подстава же в том, что по нажатию на данную кнопку мне выдаётся что "Вы не авторизованы для просмотра этого ресурса." Сразу оговорюсь что предоставляю этот компонент пользователю из новой группы создаваемой отдельно. Права для этой группы в \libraries\joomla\user\authorization.php добавил так:
Код
$this->addACL( 'com_media', 'popup', 'users', 'newgroup' );
Но это не помогло - хотя до сих пор не понял на 100% откуда брать имя группы для этих правил - в каком регистре например.

если кто знает что не так делаю, подскажите пожалуйста.

PS

Нашёл как выбрать какие кнопки отображать:

Код
<?php echo $editor->display( 'text',  $row->text , '100%', '550', '75', '20' , array('pagebreak', 'readmore')) ; ?>

оставляет только кнопку изображение   ::)

осталась актуальной проблема доступности функциональности работы с изображениями доступной по оставшейся кнопке

PPS

оказалось всё просто, опечатался в имени группы при задании прав. всё заработало. вобщем оставлю пост здесь - может кому будет полезен
« Последнее редактирование: 03.12.2008, 22:37:34 от wr123 »
*

wr123

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
продолжаю возиться с редактором. возникла проблема что при сохранении полностью пропадает весь html код и остаётся только голый неформатированный текст. кто нибуть знает в чём может быть проблема?

Joomla 1.5.8
« Последнее редактирование: 05.12.2008, 10:52:16 от wr123 »
*

wr123

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
всё ещё актуально
*

Dimchik

  • Осваиваюсь на форуме
  • 34
  • 6 / 0
У меня та же проблема что и у wr123. При сохранении материала, сохраняеться чистый текст. Помогите!!!
  !!!???!!!
*

Mitrich

  • Захожу иногда
  • 289
  • 524 / 13
  • Все можно. Но сначала учиться, учиться и учиться.
*

Dimchik

  • Осваиваюсь на форуме
  • 34
  • 6 / 0
а можно чуть более подробно? Я так понимаю в joomla 1.5.x. Этого метода нету, я получаю данные таким образом
$description = JRequest::getVar('description'); Как сделать так что бы они были вместе с HTML тегами?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
При сохранении материала, сохраняеться чистый текст.
это означает, что перед отправкой формы вы не вызывали методу $editor->save, который осуществляет выгрузку содержимого редактора в реальную переменную формы.
*

Dimchik

  • Осваиваюсь на форуме
  • 34
  • 6 / 0
вот, делаю так
"
      <form name="new_user_blog" action="index.php?option=com_user&view=user&do=submit_new" method="post" >
      <div>
      <b>Заголовок</b><br> <input type="text" name="title" />
      </div>
      <div style="margin-top:10px">
   <b>Описание</b>
      <?php
               $editor =& JFactory::getEditor();
               echo $editor->display( 'description',  $row->description, '100%', '550', '75', '20', false ) ;
               
            ?>
            </div>
            <script language="javascript" type="text/javascript">
            <? echo($editor->save( 'description' )); ?>
            </script>
            <input type="submit" value="Добавить статью">
      </form>

"
не работает....
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
не работает....
и не будет... вызывать данную функцию нужно из JavaScript функции на событии onsubmit непосредственно перед отправкой формы... я же написал, где нужно посмотреть, куда она вписывается...
*

TrOn

  • Захожу иногда
  • 91
  • 0 / 0
Вот редактор прикрутил, в POST что данные идут с хтмл тегами но в итоге все равно оказываеться "пустыми", почему может такое быть?
*

alexviking

  • Новичок
  • 6
  • 0 / 0
Народ, прочитал этот пост и кучу других, уже почти день бьюсь, десятки способов пробую, ничего не получается. Редактор появляется, но при отправке он передает строку, которая была по умолчанию, т.е. результаты редактирования не сохраняются.
Можно пошагово написать, что и куда встроить. Что значит вызвать метод перед отправкой? Откуда его вызывать? Куда прописывать? Есть ли работающий пример.
*

doxtor

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Какойто странный пример! Не понятно! А может ктонить объяснить как это работает при использовании стандартных кнопок которые генерятся кодом JToolBarHelper::save(); 0например кнопка сохранить. На инглише как то не оч понятно переводчик переводит криво (((
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Помогите пожалуйста разжуйте, а то нет нормальной документации по этому моменту ((( Оч нада...
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Помогите пожалуйста разжуйте, а то нет нормальной документации по этому моменту ((( Оч нада...
все написано очень доходчиво :)
Читай

Запрещается
Пункт 13
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
все написано очень доходчиво :)
Читай

Запрещается
Пункт 13
Прекрасный ответ нуждающемуся !
Хорошо тогда вопрос по существу куда я должен добавить яваскрипт из примера ?
Код
<script language="javascript" type="text/javascript">
<!--
function submitbutton(pressbutton) {
        var form = document.adminForm;
        if (pressbutton == 'cancel') {
                submitform( pressbutton );
                return;
        }
 
        <?php
                $editor =& JFactory::getEditor();
                echo $editor->save( 'content' );
        ?>
        submitform(pressbutton);
}
//-->
</script>
и зачем ядолжен создавать кнопки которые вызывают этот яваскрипт если у меня они уже есть в панели?
Код
<button type="button" onclick="submitbutton('save')"><?php echo JText::_('Save')?></button>
<button type="button" onclick="submitbutton('cancel')"><?php echo JText::_('Cancel')?></button>
Если бы было всё доходчиво, а не кусками, то думаю не стал бы задавать вопросов (((
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Отвечаю сам себе ! Данный пример который был предложен DOXTOR может немного запутать начинающего (на данный момент времени). Если вы используете  кнопки добавляемые с использованием фреймворка Joomla 1.5 то никаких строчек типа
Код
<button type="button" onclick="submitbutton('save')"><?php echo JText::_('Save')?></button>
<button type="button" onclick="submitbutton('cancel')"><?php echo JText::_('Cancel')?></button>
быть не должно.
Яваскрипт который должен загружать данные в переменную должне вписываться вначале файла шаблона перед формой добаления/редактирования. После чего в модели где описываем функцию сохранения в базу мы дописываем следующее:
Код
$post = JRequest::get('post'); - получаем массив из запроса
        $post['content'] = JRequest::getVar('content', '', 'post', 'string', JREQUEST_ALLOWRAW); - модифицируем данные в переменной content

После чего данные добавляются с HTML тегами как надо. Видимо дока http://docs.joomla.org/How_to_use_the_editor_in_a_component частично устарела.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
ответил сам себе на не понятный вопрос. Почитайте то что спрашивали, и к чему пришли в итоге. :)

P.S. Тему в топку
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
ответил сам себе на не понятный вопрос. Почитайте то что спрашивали, и к чему пришли в итоге. :)

P.S. Тему в топку
Пришол к тому что всё работает !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как подключить собственный css-файл

Автор crlf

Ответов: 19
Просмотров: 5309
Последний ответ 27.08.2020, 10:13:38
от vasmed
Нужно удалить старый тег Google Analitics и вставить новый

Автор daria_ab

Ответов: 3
Просмотров: 2528
Последний ответ 10.06.2019, 11:48:52
от daria_ab
Как добавить статью в созданный новый раздел (меню)

Автор Lzrv

Ответов: 1
Просмотров: 1635
Последний ответ 16.11.2017, 09:00:15
от Lzrv
Как создать новый раздел в Joomla 1.5.15

Автор Lzrv

Ответов: 3
Просмотров: 3523
Последний ответ 15.11.2017, 22:16:11
от Lzrv
Как добавить новый модуль?

Автор kirill-juk

Ответов: 1
Просмотров: 1521
Последний ответ 02.02.2016, 22:11:41
от vipiusss