Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

Latmi

  • Новичок
  • 7
  • 0 / 0
Уважаемые, опытные мастера.  !

Подскажите пожалуйста. Как реализовать сохранение материалов (добавить в избранное) Joomla посетителем сайтом без его регистрации?
Материалы с дополнительными полями сделаны через компонент K2. Нужна кнопка в материале "Добавить в избранное", на которую посетитель сайта может нажать, и добавить таким образом к себе в избранное.
А потом этот материал вывести нужно.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ну в сеесию можно добавить простым AJAX а вот с выводом посложнее. Хотя на k2 тоже особой проблемы нет. Все это можно сделать за один плагин, хоть и немного велосипедно.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Latmi

  • Новичок
  • 7
  • 0 / 0
Ну в сеесию можно добавить простым AJAX а вот с выводом посложнее. Хотя на k2 тоже особой проблемы нет. Все это можно сделать за один плагин, хоть и немного велосипедно.

Я правильно понимаю что вывод так же через K2 модуль, только в шаблоне нужно добавить условие: если такой-то материал добавлен в сессию, то тогда вывести его в шаблон?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не совсем понял, нужно сохранить сами материалы или просто добавить их в список избранных. Если последнее, то просто запишите их идентификаторы (ID, алиас) в cookies и проверять их при выводе, сессия же уничтожается вместе со всеми данными через заданный интервал времени.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Я правильно понимаю что вывод так же через K2 модуль, только в шаблоне нужно добавить условие: если такой-то материал добавлен в сессию, то тогда вывести его в шаблон?
Ну в k2 можно и без модуля. там есть event чтобы менять запрос в базу. Ну а та если вам лень делать могу за вас написать 50$ хвтатит. Контакты в подписи
Не совсем понял, нужно сохранить сами материалы или просто добавить их в список избранных. Если последнее, то просто запишите их идентификаторы (ID, алиас) в cookies и проверять их при выводе, сессия же уничтожается вместе со всеми данными через заданный интервал времени.
Ну куки тоже не вечны. если бы только зареганым я бы в базу засунул. Кстати проверять при выводе все таки поздно. Надо запрос с коркетировать. Инача будут пустые старницы
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Latmi

  • Новичок
  • 7
  • 0 / 0
Не совсем понял, нужно сохранить сами материалы или просто добавить их в список избранных. Если последнее, то просто запишите их идентификаторы (ID, алиас) в cookies и проверять их при выводе, сессия же уничтожается вместе со всеми данными через заданный интервал времени.

Да, добавить в избранное. Мне время сессии хватит. Спасибо за совет, только есть проблема которую пока не могу решить:
  • как в шаблоне модуля правильно вывести материал K2 циклом по его ID и так чтобы он ничего другого не показывал?
    *

    Latmi

    • Новичок
    • 7
    • 0 / 0
    Ну в k2 можно и без модуля. там есть event чтобы менять запрос в базу. Ну а та если вам лень делать могу за вас написать 50$ хвтатит. Контакты в подписиНу куки тоже не вечны. если бы только зареганым я бы в базу засунул. Кстати проверять при выводе все таки поздно. Надо запрос с коркетировать. Инача будут пустые старницы

    Как же этот event прописать чтобы обойтись без модуля? Делать совсем не лень, и денег не жалко но очень хочется сделать самому, но мозгов видимо не хватает уже 3-й день мучаю эту задачу.
    *

    Septdir

    • Живу я здесь
    • 3370
    • 168 / 4
    Есть ивент onbeforesentquery который позволяет поменять сам запрос в базу. Так как примеру можно к url добавить параметр и добавить проверку что если он есть в запрос добавить id in
    Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
    *Интересная задача, Деньги или Бартер. Натурой не беру!
    CodersRank | Контакты | Мой GitHub | Workshop
    *

    Septdir

    • Живу я здесь
    • 3370
    • 168 / 4
    Да, добавить в избранное. Мне время сессии хватит. Спасибо за совет, только есть проблема которую пока не могу решить:
    • как в шаблоне модуля правильно вывести материал K2 циклом по его ID и так чтобы он ничего другого не показывал?
      Ни как чтобы корректно работало надо править запрос а он лежит в helper
      Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
      *Интересная задача, Деньги или Бартер. Натурой не беру!
      CodersRank | Контакты | Мой GitHub | Workshop
      *

      Latmi

      • Новичок
      • 7
      • 0 / 0
      Ни как чтобы корректно работало надо править запрос а он лежит в helper

      я все таки сделал вывод в плагине:
      Код
      <?php
      $array[];
      $array[] = "ID материала записанного в сессию";



      foreach ($items as $key=>$item):
      foreach($array as $id):
          if ($item->id == $id) {?>
              <div class="popularList">
              <div class="popularItem">
              <div class="popularPic"><a href="<?=$item->link?>"><img height="280" src="<?=$item->imageLarge?>" alt="<?=$item->title?>" title="<?=$item->title?>" /></a></div>
              <div class="popularDesc">
              <?php foreach($item->extraFields as $keyField => $valueField):
                  $extraFields[$keyField] = $valueField->value;
              endforeach;
              if($extraFields["ploshad"] != ""):?><div class="popularPloshad"><?=$extraFields["ploshad"]?> <span>м2</span></div><?endif;
              if($extraFields["summ_price"] != ""):?><div class="popularPrice"><?=number_format($extraFields["summ_price"], 0, '.', ' ')?> <span>руб. в месяц</span></div><?endif;?>
              </div>
              </div>
              </div> <?php
          }
      endforeach;
      endforeach;
      ?>

      И работает) Осталось только записать через AJAX по ссылке в сессию.

      Скорее всего я сделал очень криво и неправильно. Прокомментируйте пожалуйста.
      *

      robert

      • Живу я здесь
      • 4974
      • 457 / 20
      Мне время сессии хватит.
      Не понял: у вас вечная сессия? Если нет, то откуда возьмется список избранных в следующий заход посетителя на сайт?
      я все таки сделал вывод в плагине:
      Скорее всего я сделал очень криво и неправильно. Прокомментируйте пожалуйста.
      -Наверное, все-таки $array = [];, а не $array[];
      -Выборку по IDs нужно делать при SQL-запросе, а не после.
      -И самое главное: откуда возьмете содержимое $array? Об этом я уже написал в начале этого сообщения.
      Не будь паразитом, сделай что-нибудь самостоятельно!
      *

      Latmi

      • Новичок
      • 7
      • 0 / 0
      Не понял: у вас вечная сессия? Если нет, то откуда возьмется список избранных в следующий заход посетителя на сайт?-Наверное, все-таки $array = [];, а не $array[];
      -Выборку по IDs нужно делать при SQL-запросе, а не после.
      -И самое главное: откуда возьмете содержимое $array? Об этом я уже написал в начале этого сообщения.

      содержимое array из невечной сессии, ибо после ухода с сайта или закрытия браузера этот список должен очищаться.
      Код
      <?php

      session_start();





      $id = $this->item->id;

      if (isset($_SESSION['id']))
      {
          if (count($_SESSION['id']) < 3)
          {
            
              $_SESSION['id'][] = $id;
          }
          else {
            
              for ($i=1; $i<3; $i++)
              {
                  $_SESSION['id'][$i-1] = $_SESSION['id'][$i];
              }
              $_SESSION['id'][4] = $id;
          }

      } else {
          $_SESSION['id'] = array();
          $_SESSION['id'][] = $id;
      }

      session_write_close();
      ?>
      *

      Latmi

      • Новичок
      • 7
      • 0 / 0
      А вот как по клику добавить непонятно, пока что добавляется при открытии страницы самого материала. Пробовал через AJAX - не получилось.
      *

      robert

      • Живу я здесь
      • 4974
      • 457 / 20
      В контексте Joomla сессия уже запущена, так что нет смысла еще раз ее запускать. Получите ее методом JFactory:getSession().
      Используйте array_shift вместо своих сложных телодвижений по ограничению размер массива id.
      По AJAX - вам нужен скрипт, который отлавливает новый ID и записывает его в сессию. Код можно добавить прямо в какой-нибудъ шаблон компонента и пропишите в качестве AJAX-url путь к соответствующему view.
      Не будь паразитом, сделай что-нибудь самостоятельно!
      Чтобы оставить сообщение,
      Вам необходимо Войти или Зарегистрироваться
       

      Нужна проф помощь в обновлении Joomla на лок.сервере osp. Можно платно

      Автор Fati

      Ответов: 0
      Просмотров: 5250
      Последний ответ 16.06.2025, 16:40:04
      от Fati
      Помогите с БАГом в панели администратора Joomla 3

      Автор akteon25

      Ответов: 2
      Просмотров: 2298
      Последний ответ 26.02.2025, 16:41:56
      от akteon25
      Версии РНР и Joomla 3

      Автор Ebelous

      Ответов: 8
      Просмотров: 4065
      Последний ответ 27.01.2025, 20:38:45
      от pavelrer
      pptx в теле материала сайта

      Автор VIK4

      Ответов: 0
      Просмотров: 1989
      Последний ответ 24.10.2024, 13:04:04
      от VIK4
      Trouble Upgrading from Joomla 3.8 to 3.9

      Автор melissa00

      Ответов: 0
      Просмотров: 2827
      Последний ответ 26.07.2024, 10:03:51
      от melissa00