|
|
Desktopsuche erweitern
|
|
|
======
|
|
|
|
|
|
```
|
|
|
Proposal
|
|
|
```
|
|
|
|
|
|
Die Desktopsuche kann über Module und Plugins erweitert werden. Somit sind Inhalte / Daten / Objekte, welche vom Modul bereitgestellt werden, durchsuchbar.
|
|
|
|
|
|
Diese Schnittstelle soll es ermöglichen auch andere Daten durchsuchbar zu machen. Es ist somit möglich einzelne Produkte aus dem Shop System über die Desktop Suche zu finden und aufzurufen.
|
|
|
|
|
|
|
|
|
Ablauf für Entwickler
|
|
|
----
|
|
|
|
|
|
### PHP Service Provider registrieren
|
|
|
|
|
|
Erweitern Sie die package.xml um einen `desktopSearch` Provider Eintrag
|
|
|
|
|
|
```xml
|
|
|
|
|
|
<quiqqer>
|
|
|
<package>
|
|
|
<!-- ... -->
|
|
|
|
|
|
<provider>
|
|
|
<!-- src = Search Provider, PHP Klasse welche von der Desktop Suche zusätzlich verwendet wird -->
|
|
|
<desktopSearch src="\QUI\Products\DesktopSearch" />
|
|
|
</provider>
|
|
|
|
|
|
</package>
|
|
|
</quiqqer>
|
|
|
|
|
|
```
|
|
|
|
|
|
### PHP Service Provider
|
|
|
|
|
|
Stellen Sie den Provider zur Verfügung welcher in src="" angegeben wurde. Der Provider muss das Interface `QUI\Workspace\Search\ProviderInterface` beinhalten, ansonsten wird er nicht von der Desktop Suche akzeptiert.
|
|
|
|
|
|
|
|
|
```php
|
|
|
<?php
|
|
|
|
|
|
namespace QUI\Products;
|
|
|
|
|
|
/**
|
|
|
* Class DesktopSearch
|
|
|
*
|
|
|
* @package QUI\Products\DesktopSearch
|
|
|
*/
|
|
|
QUI\Products\DesktopSearch implements QUI\Workspace\Search\ProviderInterface
|
|
|
{
|
|
|
// Baut den Cache auf
|
|
|
// Wird aufgerufen wenn die Desktop Suche den Cache aufbaut
|
|
|
public function buildCache()
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
// Aufruf der Suche
|
|
|
// Wird aufgerufen wenn eine Desktop Suche vom Benutzer aufgerufen wird
|
|
|
public function search($search, $params=array())
|
|
|
{
|
|
|
|
|
|
]
|
|
|
|
|
|
// Einzelnen Eintrag aus der Suche bekommen
|
|
|
// Wird z.B. aufgerufen wenn über die Desktop Suche vom Benutzer ein einzelner Eintrag angeklickt wird
|
|
|
public function getEntry($id)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|