Новости Joomla

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В модуле получаю массив записей из запроса, 3 поля, значения которых мне надо передать в виде массива в jq-скрипт для дальнейшего использования во фронте (работа с я.картами).
1. Как мне сформировать такой массив?
2. Как его потом в скрипте считывать?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #1 : 23.11.2014, 20:51:04 »
1. запиши в строку в:
а) кукисы
б) на страницу как класс или прям в тело документа
2. получи строку в js и разбей.

Пример из справочника js:
Код: javascript
var tags = "Лето, зима, осень 2009 года"
var re = /\s*,\s*/
var tagList = tags.split(re);
alert(tagList) //  ["Лето", "зима", "осень 2009 года"]

Пример попроще, без регулярки:
Код: javascript
arr = "a,b,c".split(','// массив ["a", "b", "c"]
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #2 : 23.11.2014, 20:57:22 »
Не, кукисы - это зло, я в этом уже убедился.
Нашел примерчик:
Код: php
$doc->addScriptDeclaration('var arr='.json_encode($arr).';');
В результате получаю в скрипте json-строку, как с ней работать?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #3 : 23.11.2014, 21:04:34 »
Хотя пока не понял, как в массив записать данные из запроса...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Передать массив записей из БД в js
« Ответ #4 : 23.11.2014, 21:09:19 »
AlekVolsk То что ты нашел, также не совсем правильно. Не зачем засорять HTML разметку ненужными данными.
Лучше делать отдельный запрос за данными этого массива. $.ajax, $.getJSON , будут в помощь.
Тем самым ту ускоришь ренедеринг страницы и скорость ее загрузки
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #5 : 23.11.2014, 21:10:20 »
Ну так можно в строку, можно в json, тут дело вкуса. Если юзаешь JQ, то так:

Код: javascript
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );

Так же можно просто преобразовать объект в массив, всё гуглится.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #6 : 23.11.2014, 21:11:05 »
Fedor Vlasenko, если у него там пять слов надо передать, рационально ли отдельный запрос делать?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #7 : 23.11.2014, 21:16:22 »
Сколько слов - хз, надо точки на карте поставить и к каждой точке подсказку вывести.
Точек может быть и 5, а может и несколько тысяч.
Формирую и передаю так (не проверял, модуль еще не установлен):
Код: php
$items = ModAimapsHelper::getItems((bool)$params->get('is_partner'));
$arr = array();
$i = 0;
foreach ($items as $item) {
  $val1 = $item->fadr;
  $val2 = !empty($item->furl)? $item->name.'<br>'.$item->furl : $item->name;
  $subarr = arra($val1,$val2);
  $arr[$i] = $subarr;
  $i++;
}
$doc->addScriptDeclaration('var arr='.json_encode($arr).';');
Не знаю, насколько это правильно.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Передать массив записей из БД в js
« Ответ #8 : 23.11.2014, 21:17:30 »
5 слов можно и в разметку прописать
Код: html4strict
<span data-arr="a1,a2,a3,a4,a5"></span>
а вот если больше
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #9 : 23.11.2014, 21:22:09 »
Цитировать
Лучше делать отдельный запрос за данными этого массива
В модуле только этот запрос и делается...

Не совсем понятно, как использовать AJAX без формы, ибо во вьюхе модуля только:
Код: html4strict
<div class="ymap"></div>
и все
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #10 : 23.11.2014, 21:23:47 »
Как же, делал такую же задачу. Я координаты прописывал придуманным атрибутом к тэгу, ибо html5 же. Типа
Код: html4strict
<span class="geopoint" coords="255.22, 789,789">Это Спарта!</span>
А, ну Фёдор выше тоже в атрибут же записал. В общем, тут наши мнения сходятся.  ^-^
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #11 : 23.11.2014, 21:26:25 »
В модуле только этот запрос и делается...
Не совсем понятно, как использовать AJAX без формы, ибо во вьюхе модуля только:
Код: html4strict
<div class="ymap"></div>
и все
Лёш, тебе тут AJAX не нужен.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Передать массив записей из БД в js
« Ответ #12 : 23.11.2014, 21:29:28 »
http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/ajax-v-joomla-3-2
Не путай запросы MySQL и Js AJAX
При большом количестве данных лучше сделать AJAX запрос.
Тем самым мы отделим HTML разметку от данных
А еще потом добавишь к примеру фильтр выбора в города или района
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #13 : 23.11.2014, 21:45:17 »
Я не путаю. Но com_ajax появился только в третьей линейке (какая в ТС — хз) и его применение к настоящей задаче нерационально.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #14 : 23.11.2014, 21:50:08 »
Доступ к аяксу есть, J3.last
Не совсем понятно, как делать через AJAX запросы в модулях.
Код: javascript
   $.ajax({
      type: 'POST',
      cache: false,
      dataType: 'html',
      url: $('#order-subscription').attr('action'),
      data: // как передать параметры для запроса, если во вьюхе не используется форма? $(form).serializeArray() явно не прокатит (
      success: function() {
        // КАК ТУТ ПОЛУЧИТЬ ДАННЫЕ? хз
      }
    });
В связи с вышеизложенным решение на аяксе пока отложу, но вернусь обязательно (не первый раз этот вопрос встает).

Вопрос: значения поле содержат запятые (почтовый адрес, по которому точку на карте еще надо найти ((( ), как их экранировать перед отправкой в json_encode() (если это вообще надо)?
И как такой массив (без ключей) считывать в js? с этим разобрался
« Последнее редактирование: 23.11.2014, 21:54:40 от AlekVolsk »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Передать массив записей из БД в js
« Ответ #15 : 23.11.2014, 22:00:51 »
Запятые не обязательно экранировать при сериализации в json. Вот если содержимое HTML сериализовать в json то головная боль обеспечена) А зачем вобще в json заворачивать если там просто данные через запятую как я понял?

С кавычками одинарными/двойными проблемы могут возникнуть,  c кодировкой..
« Последнее редактирование: 23.11.2014, 22:06:18 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Передать массив записей из БД в js
« Ответ #16 : 23.11.2014, 22:01:19 »
Женя не тебе писал про запросы, а AlekVolsk
Код: javascript
$.ajax({
      type: 'POST',
      cache: false,
      dataType: 'json',
      url: $('#order-subscription').attr('action'),
      success: function($res) {
        console.dir($res);
      }
});
Цитировать
И как такой массив (без ключей) считывать в js
http://api.jquery.com/jquery.each/
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #17 : 23.11.2014, 22:16:42 »
Вот пример аналогичной задачи, верстал гдет полгода назад:

Код: html4strict
<h2>Информация по&nbsp;дому</h2>
<dl>
<dt>Этажность:</dt> <dd>9</dd>
<dt>Материал стен:</dt> <dd>кирпич</dd>
<dt>Адрес:</dt> <dd class="coords" coords="52.54,85.22">ул.&nbsp;Ударная, 92</dd>
</dl>
<div class="itemdescprice">
<div class="price">2&nbsp;000&nbsp;000&nbsp;р.</div>
<div class="button">Посмотреть</div>
</div>

Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #18 : 23.11.2014, 22:23:04 »
Ппц, карта не выводится
Код: javascript
var myMap;

ymaps.ready(init);

function init () {
  myMap = new ymaps.Map('ymap', {
    center:[65,100],
    zoom:3,
    controls:['zoomControl','typeSelector']
  });
}
В консоли:
TypeError: e is null combine.xml:642 (это грузится с апи яндекса)
Аналогичный код, но вызываемый из материала, работает на ура.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Передать массив записей из БД в js
« Ответ #19 : 23.11.2014, 22:25:21 »
А у тебя #ymap на странице вообще есть?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #20 : 23.11.2014, 22:26:39 »
Ппц, у меня класс вместо ID ))))))))))
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #21 : 23.11.2014, 23:09:14 »
Строю точки на карте:
Спойлер
[свернуть]
На всех точках подсказка от последней записи в массиве
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #22 : 24.11.2014, 00:50:13 »
Цикл на jq:
Код: javascript
  while (i<c) {
    var ai_adr = ai_users_points[i][0];

    ymaps.geocode(ai_adr, {results: 1}).then(function (res) {
      // ЗДЕСЬ НУЖНО ДОЖДАТЬСЯ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ ymaps.geocode(), КАК?
    });

    i++;
  }
*

almika

  • Захожу иногда
  • 325
  • 27 / 0
Re: Передать массив записей из БД в js
« Ответ #23 : 24.11.2014, 05:40:06 »
На всех точках подсказка от последней записи в массиве
Так не надо, наверное, HintLayout = null перед добавлением метки на карту.
Код
HintLayout = null;
myMap.geoObjects.add(myPlacemark);
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Передать массив записей из БД в js
« Ответ #24 : 24.11.2014, 08:36:50 »
По теме топика вопрос решен, по карте отдельный создам. Всем спасибо.
Топик просьба не закрывать, к теме аякса еще вернусь, спс.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Передать логин и пароль параметром

Автор tmpnikl

Ответов: 3
Просмотров: 961
Последний ответ 01.11.2017, 13:27:29
от robert
[Решено] ассоциативный массив для передачи в JS

Автор larikan

Ответов: 4
Просмотров: 3134
Последний ответ 15.06.2017, 17:17:38
от larikan
Передать ссылку в скрипт

Автор denism300

Ответов: 3
Просмотров: 1223
Последний ответ 27.02.2016, 12:40:03
от Aleks.Denezh
Перебор записей с конца

Автор AlekVolsk

Ответов: 7
Просмотров: 1059
Последний ответ 12.01.2015, 14:30:14
от AlekVolsk
Как передать параметры через get со страницы в скрипт на php?

Автор vaf

Ответов: 2
Просмотров: 1881
Последний ответ 16.09.2014, 16:08:25
от AlekVolsk