Новости 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

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

Sonarweb

  • Осваиваюсь на форуме
  • 12
  • 0 / 1
  • Все строится на внимании!
Доброго времени суток! Возник такой вопрос... компонент "умный поиск" - стандартная фишка сборки Joomla 2.5
Поиск осуществляется по например установленному компоненту ZOO, K2, Content , но не ищет по доске объявления AdsManager. На сайте все плагины включены, все работает нормально (кеширование системы надо отключать или сами понимаете что происходит). Вопрос, кто сталкивался с такой проблемой, как сделать поиск и по доске?
*

zloidmin

  • Новичок
  • 2
  • 1 / 0
  • Пишу скрипты в Казахстане на заказ
Re: Умный поиск Joomla 2.5 + AdsManager 2.7
« Ответ #1 : 19.07.2014, 19:45:03 »
Короче вчера вечером кое-кому кое-что  *DRINK* ударило в голову прикрутить умный поиск к доске объявлений AdsManager 2.9 , Joomla 2.5 . Типа хочу умные подсказки чеб выскакивали  и типа все тут. Полез в инет и нету ни фига... Хоть ты тресни по всем запросам все вот в  эту тему попадаю...  :laugh: :laugh: :laugh:

Пришлось сесть разбираться как работает этот умный поиск и писать этот чертов плагин для работы  Умного поиcка в AdsManager   самому.

После пары часов танцев с бубнами сам код плагина получился вот такой  (кидание помидорами приветствуется  :laugh:)  

/plugins/finder/adsmanager/adsmanager.php


Код
<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Finder.Content
 *
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_BASE') or die;

jimport('joomla.application.component.helper');

// Load the base adapter.
require_once JPATH_ADMINISTRATOR . '/components/com_finder/helpers/indexer/adapter.php';


class plgFinderAdsmanager extends FinderIndexerAdapter
{
protected $context = 'Adsmanager';
protected $extension = 'com_adsmanager';
protected $layout = 'details';
protected $type_title = 'Ads';
protected $table = '#__adsmanager_ads';
protected $state_field = 'published';
 
  protected function setup()
        {
         return true;
        }


   public function onFinderDelete($context, $table)
   {
      if ($context == 'com_adsmanager.ads')
      {
         $id = $table->id;
      }
      elseif ($context == 'com_finder.index')
      {
         $id = $table->link_id;
      }
      else
      {
         return true;
      }

      return $this->remove($id);
   }

   public function onFinderChangeState($context, $pks, $value)
   {
      if ($context == 'com_adsmanager.ads')
      {
         $this->itemStateChange($pks, $value);
      }

      if ($context == 'com_plugins.plugin' && $value === 0)
      {
         $this->pluginDisable($pks);
      }
   }
      
   protected function index(FinderIndexerResult $item, $format = 'html')
   {
      if (JComponentHelper::isEnabled($this->extension) == false)
      {
         return;
      }


      $item->summary = FinderIndexerHelper::prepareContent($item->summary, $item->params);
      $item->url = $this->getURL($item->id, $this->extension, $this->layout);
      $item->route = 'index.php?option=com_adsmanager&view=details&id='.$item->id;
      $item->addTaxonomy('Type', 'Ads');
      $item->addTaxonomy('Language', $item->language);

// Get content extras.
FinderIndexerHelper::getContentExtras($item);

// Index the item.
    FinderIndexer::index($item);
   }

   protected function getListQuery($sql = null)
   {
      $db = JFactory::getDbo();
      $sql = $sql instanceof JDatabaseQuery ? $sql : $db->getQuery(true);
      $sql->select('a.id as id, a.ad_headline as title');
      $sql->select('a.published as state, a.published as access');
      $sql->select('a.ad_text as summary');
      $sql->from('#__adsmanager_ads AS a');
      return $sql;
      
   }

   protected function getStateQuery()
   {
      $sql = $this->db->getQuery(true);
      $sql->select($this->db->quoteName('a.id'));
      $sql->select($this->db->quoteName('a.ad_headline').' as title');
      $sql->select($this->db->quoteName('a.published'). ' AS state');
      $sql->select($this->db->quoteName('a.ad_state'). ' AS access');
      $sql->select($this->db->quoteName('a.ad_text'). ' AS summary');
      $sql->from($this->db->quoteName('#__adsmanager_ads'). ' AS a');
      return $sql;
   }
}



Ну поставил я плагин (сслыка  на загрузку плагина внизу  поста) сделал индексацию.

Поиск пашет  подсказки выдает дебильные типа все как полагается,  но лично меня Вывод результатов стандартного модуля Умного Поиска совсем не устроил...   уж больно кривой-некрасивый он и как то ну совсем не вписывается в дизайн AdsManager   :-X

Почесал репу ну и думаю ... а фигли тут мудрить надо просто сделать пасер запросов из Модуля Умного поиска на стандартный поиск AdsManager и тогда и Умные подсказки будут и результаты поиска будут выводится в нормальном для Adsmanаger виде.

Сказано сделано. Тут же сварганил файлик search.php и кинул его в папку с плагином /plugins/finder/adsmanager/

Код  search.php  (помидоры приветствуются  ;D)

Код

<?php
$tsearch = $_REQUEST['q'];
$url="/index.php?tsearch=".$tsearch."&option=com_adsmanager&view=list";
header('HTTP/1.1 200 OK');
header('Location: http://'.$_SERVER['HTTP_HOST'].$url);
exit();
?>



А в  модуле Умного Поиска сделал маленький хак.

Файл /modules/mod_finder/tmpl/default.php

Строка 134.  Поменял


Код
<form id="mod-finder-searchform" action="<?php echo JRoute::_($route); ?>" method="get">


на

Код
<form id="mod-finder-searchform" action="<?php echo JRoute::_('plugins/finder/adsmanager/search.php', false); ?>" method="get">

И заюзал Умный поиск с выводом данных в привычном формате AdsManager


Download Smart Search Plugin для AdsManager можно здесь
« Последнее редактирование: 20.07.2014, 15:30:38 от zloidmin »
*

balancer

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Умный поиск Joomla 2.5 + AdsManager 2.7
« Ответ #2 : 30.07.2014, 15:17:40 »
не совсем понял в чем отличие вашего плагина от стандартного.

Может кто сталкивался с задачей интеграции Universal AJAX Live Search в AdsManager, либо какого-нибудь другого AJAX поиска? Подскажите, пожалуйста, в какую сторону рыть, заранее признателен.
« Последнее редактирование: 30.07.2014, 15:24:44 от balancer »
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
Re: Умный поиск Joomla 2.5 + AdsManager 2.7
« Ответ #3 : 30.07.2014, 20:35:34 »
не совсем понял в чем отличие вашего плагина от стандартного.

Может кто сталкивался с задачей интеграции Universal AJAX Live Search в AdsManager, либо какого-нибудь другого AJAX поиска? Подскажите, пожалуйста, в какую сторону рыть, заранее признателен.
я бы на платную версию поиска посмотрел от  AdsManager
*

zloidmin

  • Новичок
  • 2
  • 1 / 0
  • Пишу скрипты в Казахстане на заказ
Re: Умный поиск Joomla 2.5 + AdsManager 2.7
« Ответ #4 : 06.08.2014, 17:42:37 »
не совсем понял в чем отличие вашего плагина от стандартного.


Ну и вопросики у вас... Отличе в том что встроенный в Joomla плагины Smart Search с AdsManager не работают.

Других плагинов для работы Smart Search  c AdsManager кроме того что я сам накарябал  на коленке лично я в инете не нашел, если такие есть, пожалуйста ткните носом, буду премного благодарен ;)

 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 3996
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 14523
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 3249
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 13634
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 28867
Последний ответ 27.03.2020, 22:32:04
от Pavel