Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 02e5d4099b | |||
| 0c18b268ae | |||
| 188de3d03f | |||
| d874fe4274 | |||
| c790a1c312 |
+3
-3
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "mummert-media/contao-meilisearch-bundle",
|
"name": "mummert/meilisearch-bundle",
|
||||||
"description": "Contao Meilisearch integration bundle",
|
"description": "Contao Meilisearch integration bundle",
|
||||||
"type": "contao-bundle",
|
"type": "contao-bundle",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@@ -12,10 +12,10 @@
|
|||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"MummertMedia\\ContaoMeilisearchBundle\\": "src/"
|
"Mummert\\ContaoMeilisearchBundle\\": "src/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"contao-manager-plugin": "MummertMedia\\ContaoMeilisearchBundle\\ContaoManager\\Plugin"
|
"contao-manager-plugin": "Mummert\\ContaoMeilisearchBundle\\ContaoManager\\Plugin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Command;
|
namespace Mummert\ContaoMeilisearchBundle\Command;
|
||||||
|
|
||||||
use Contao\CoreBundle\Framework\ContaoFramework;
|
use Contao\CoreBundle\Framework\ContaoFramework;
|
||||||
use Doctrine\DBAL\Connection;
|
use Doctrine\DBAL\Connection;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Command;
|
namespace Mummert\ContaoMeilisearchBundle\Command;
|
||||||
|
|
||||||
use Contao\CoreBundle\Framework\ContaoFramework;
|
use Contao\CoreBundle\Framework\ContaoFramework;
|
||||||
use Contao\Database;
|
use Contao\Database;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Command;
|
namespace Mummert\ContaoMeilisearchBundle\Command;
|
||||||
|
|
||||||
use MummertMedia\ContaoMeilisearchBundle\Service\MeilisearchIndexService;
|
use Mummert\ContaoMeilisearchBundle\Service\MeilisearchIndexService;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\ContaoManager;
|
namespace Mummert\ContaoMeilisearchBundle\ContaoManager;
|
||||||
|
|
||||||
use Contao\CalendarBundle\ContaoCalendarBundle;
|
use Contao\CalendarBundle\ContaoCalendarBundle;
|
||||||
use Contao\CoreBundle\ContaoCoreBundle;
|
use Contao\CoreBundle\ContaoCoreBundle;
|
||||||
@@ -8,7 +8,7 @@ use Contao\ManagerPlugin\Bundle\BundlePluginInterface;
|
|||||||
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
|
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
|
||||||
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
|
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
|
||||||
use Contao\NewsBundle\ContaoNewsBundle;
|
use Contao\NewsBundle\ContaoNewsBundle;
|
||||||
use MummertMedia\ContaoMeilisearchBundle\ContaoMeilisearchBundle;
|
use Mummert\ContaoMeilisearchBundle\ContaoMeilisearchBundle;
|
||||||
|
|
||||||
class Plugin implements BundlePluginInterface
|
class Plugin implements BundlePluginInterface
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle;
|
namespace Mummert\ContaoMeilisearchBundle;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Controller\FrontendModule;
|
namespace Mummert\ContaoMeilisearchBundle\Controller\FrontendModule;
|
||||||
|
|
||||||
use Contao\Config;
|
use Contao\Config;
|
||||||
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\DependencyInjection;
|
namespace Mummert\ContaoMeilisearchBundle\DependencyInjection;
|
||||||
|
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
namespace Mummert\ContaoMeilisearchBundle\EventListener;
|
||||||
|
|
||||||
use Contao\Config;
|
use Contao\Config;
|
||||||
use Contao\System;
|
use Contao\System;
|
||||||
use MummertMedia\ContaoMeilisearchBundle\Service\MeilisearchFileHelper;
|
use Mummert\ContaoMeilisearchBundle\Service\MeilisearchFileHelper;
|
||||||
|
|
||||||
class IndexPageListener
|
class IndexPageListener
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\EventListener;
|
namespace Mummert\ContaoMeilisearchBundle\EventListener;
|
||||||
|
|
||||||
use Contao\CalendarEventsModel;
|
use Contao\CalendarEventsModel;
|
||||||
use Contao\Config;
|
use Contao\Config;
|
||||||
|
|||||||
@@ -2,24 +2,24 @@ services:
|
|||||||
# Alias MUSS vorhanden sein (richtig platziert)
|
# Alias MUSS vorhanden sein (richtig platziert)
|
||||||
Psr\Container\ContainerInterface: '@service_container'
|
Psr\Container\ContainerInterface: '@service_container'
|
||||||
|
|
||||||
MummertMedia\ContaoMeilisearchBundle\:
|
Mummert\ContaoMeilisearchBundle\:
|
||||||
resource: '../../{Command,EventListener,Service}'
|
resource: '../../{Command,EventListener,Service}'
|
||||||
autowire: true
|
autowire: true
|
||||||
autoconfigure: true
|
autoconfigure: true
|
||||||
|
|
||||||
MummertMedia\ContaoMeilisearchBundle\EventListener\MeilisearchPageMarkerListener:
|
Mummert\ContaoMeilisearchBundle\EventListener\MeilisearchPageMarkerListener:
|
||||||
autowire: true
|
autowire: true
|
||||||
autoconfigure: false
|
autoconfigure: false
|
||||||
tags:
|
tags:
|
||||||
- { name: contao.hook, hook: outputFrontendTemplate, method: onOutputFrontendTemplate }
|
- { name: contao.hook, hook: outputFrontendTemplate, method: onOutputFrontendTemplate }
|
||||||
|
|
||||||
MummertMedia\ContaoMeilisearchBundle\EventListener\IndexPageListener:
|
Mummert\ContaoMeilisearchBundle\EventListener\IndexPageListener:
|
||||||
autowire: true
|
autowire: true
|
||||||
autoconfigure: false
|
autoconfigure: false
|
||||||
tags:
|
tags:
|
||||||
- { name: contao.hook, hook: indexPage, method: onIndexPage }
|
- { name: contao.hook, hook: indexPage, method: onIndexPage }
|
||||||
|
|
||||||
MummertMedia\ContaoMeilisearchBundle\Controller\FrontendModule\MeilisearchSearchController:
|
Mummert\ContaoMeilisearchBundle\Controller\FrontendModule\MeilisearchSearchController:
|
||||||
autowire: true
|
autowire: true
|
||||||
autoconfigure: false
|
autoconfigure: false
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use MummertMedia\ContaoMeilisearchBundle\EventListener\MeilisearchPageMarkerListener;
|
use Mummert\ContaoMeilisearchBundle\EventListener\MeilisearchPageMarkerListener;
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = [
|
$GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = [
|
||||||
|
|||||||
@@ -60,10 +60,44 @@ Contao 5 – Frontend Module Template
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="module">
|
<script>
|
||||||
import MeiliSearch from 'https://cdn.jsdelivr.net/npm/meilisearch@latest/dist/bundles/meilisearch.esm.js';
|
(function () {
|
||||||
|
const CDN_URLS = [
|
||||||
|
'https://cdn.jsdelivr.net/npm/meilisearch@0.39.0/dist/bundles/meilisearch.umd.min.js',
|
||||||
|
'https://unpkg.com/meilisearch@0.39.0/dist/bundles/meilisearch.umd.min.js'
|
||||||
|
];
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
function loadClient(urls, onDone) {
|
||||||
|
if (typeof MeiliSearch !== 'undefined') {
|
||||||
|
onDone(true, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!urls.length) {
|
||||||
|
onDone(false, 'Alle CDN-Quellen fehlgeschlagen (mögliche CSP-Blockierung von script-src).');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const url = urls.shift();
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.src = url;
|
||||||
|
script.async = true;
|
||||||
|
script.crossOrigin = 'anonymous';
|
||||||
|
|
||||||
|
script.onload = () => {
|
||||||
|
if (typeof MeiliSearch !== 'undefined') {
|
||||||
|
onDone(true, null);
|
||||||
|
} else {
|
||||||
|
loadClient(urls, onDone);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
script.onerror = () => loadClient(urls, onDone);
|
||||||
|
|
||||||
|
document.head.appendChild(script);
|
||||||
|
}
|
||||||
|
|
||||||
|
function initSearch() {
|
||||||
|
|
||||||
const wrapper = document.querySelector('.meilisearch-search');
|
const wrapper = document.querySelector('.meilisearch-search');
|
||||||
if (!wrapper) return;
|
if (!wrapper) return;
|
||||||
@@ -221,7 +255,19 @@ Contao 5 – Frontend Module Template
|
|||||||
results.appendChild(node);
|
results.appendChild(node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
loadClient([...CDN_URLS], (ok, reason) => {
|
||||||
|
if (!ok) {
|
||||||
|
console.error('[Meilisearch] Browser client konnte nicht geladen werden. ' + reason);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
initSearch();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})();
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<!-- indexer::continue -->
|
<!-- indexer::continue -->
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Service;
|
namespace Mummert\ContaoMeilisearchBundle\Service;
|
||||||
|
|
||||||
use Contao\FilesModel;
|
use Contao\FilesModel;
|
||||||
use Contao\StringUtil;
|
use Contao\StringUtil;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Service;
|
namespace Mummert\ContaoMeilisearchBundle\Service;
|
||||||
|
|
||||||
use Contao\Config;
|
use Contao\Config;
|
||||||
use Contao\CoreBundle\Framework\ContaoFramework;
|
use Contao\CoreBundle\Framework\ContaoFramework;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MummertMedia\ContaoMeilisearchBundle\Service;
|
namespace Mummert\ContaoMeilisearchBundle\Service;
|
||||||
|
|
||||||
use Contao\Config;
|
use Contao\Config;
|
||||||
use Contao\CoreBundle\Framework\ContaoFramework;
|
use Contao\CoreBundle\Framework\ContaoFramework;
|
||||||
|
|||||||
Reference in New Issue
Block a user