Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

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
Просмотров: 3882
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

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

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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