TYPO3 und SOLR: java.lang.NullPointerException at org.typo3.solr.search.AccessFilter.getDocIdSet(AccessFilter.java:104)

In Verbindung mit TYPO3, SOLR und Mittwald kann es dazu kommen, dass keine Ergebnisse angezeigt werden.
Grund hierfür ist der fq-Parameter in der Query. Deaktiviert man in der Datei typo3conf/ext/solr/Classes/Query.php Zeile 1284 diesen, funktioniert es.

input fields within template element in IE and Edge browser

Submitting a form containing input fields within template elements are send by IE and Edge browsers with the post/get data. This can cause problems in your application. So it’s better to remove them like with jQuery on submit:

jQuery('template').html("");
jQuery('template').remove();

The trick with the html(„“) is important for the Edge browser. Otherwise it won’t remove all template data with the input fields correctly.

Erfahrungsbericht Horizon Go mit Maxdome bei Unitymedia

Das Bild beschreibt ziemlich gut, wie zuverlässig der Dienst ist. Nämlich so gut wie gar nicht. Es kommt häufiger vor, dass mitten im Film

  • dieser mit Fehlermeldung abbricht. Mal ein „Lizenzfehler“ oder sonstige Fehlermeldungen.
  • temporär aus dem Angebot verschwinden
  • oder erst gar nicht abgespielt werden können

Auch scheint die Horizon Windows-App technisch nur sehr schlecht gepflegt zu werden, denn es existiert zwischen App und Website ein Unterschied im Sortiment. In der App bekommt man über die Filterfunktion für Filme im Genre „Action“ folgende grandiose Auswahl:

Was zudem eindeutig fehlt ist ein ordentliches Film-Vorschlagsystem, dass anhand der bereits geschauten Filme weitere Vorschläge unterbreitet.

Fazit: Unausgereiftes Produkt

TYPO3 Extbase: Get related disabled/hidden object

ext_localconf.php

$extbaseObjectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
    \TYPO3\CMS\Extbase\Object\Container\Container::class
);
$extbaseObjectContainer->registerImplementation(
    \TYPO3\CMS\Extbase\Persistence\Generic\QueryFactoryInterface::class,
    \Vendor\Extensionname\Persistence\Generic\QueryFactory::class
);

Object Vendor\Extensionname\Persistence\Generic\QueryFactory.php

<?php
namespace Vendor\Extensionname\Persistence\Generic;

use Vendor\Extensionname\Domain\Model\Objectname;


class QueryFactory extends \TYPO3\CMS\Extbase\Persistence\Generic\QueryFactory
{

    public function create($className)
    {
        $query = parent::create($className);
        if (is_a($className, Objectname::class, true)) {

            $query->getQuerySettings();

            $querySettings = $query->getQuerySettings();
            $querySettings->setIgnoreEnableFields(true);

        }
        return $query;
    }
}

Load formular with ajax and display it in fancybox lightbox

Just a code snippet:

The link:

<a href="#" id="the-opener-link" data-url="/link/to/form">Open form</a>

The JavaScript:

$('#the-opener-link').click(function(event) {

    $.fancybox.open({
        href:$(this).attr('data-url'),
        type: 'ajax',
        afterShow: function() {
            $(".fancybox-inner form").bind("submit", function () {
                $.fancybox.showLoading();
                $.ajax({
                    type: "POST",
                    cache: false,
                    url: $(this).attr('action'),
                    data: $(this).serializeArray(),
                    success: function (data) {
                        $.fancybox(data);
                    }
                });
                return false;
            });
        }
    });

    return false;
});

I’m using a data attribute to protect the form being indexed and used by bots/search engines.