Indexed Search listet keine Medien-Dateien im Suchergebnis

Falls die Typo3-Suche trotz korrekter Konfiguration (index_enable = 1, index_externals = 1) z.B. PDF- oder Word-Dateien zwar indiziert aber in der Ergebnisliste nicht ausgibt, so kann es an einer fehlgeschlagenen Überprüfung in der „SearchFormController.php“ liegen.

Dort wird mit der Funktion „checkExistance“ (genauer: mit „if (!is_file($row[‚data_filename‘]) || !file_exists($row[‚data_filename‘]))“) überprüft, ob die Datei auf dem Server existiert. Schlägt die Überprüfung fehl, dann wird die Datei nicht angezeigt.

Ich hatte hier mit einem Typo3 6.0 und Typo3 6.1 das Problem, dass Medien-Dateien trotz Indizierung nicht angezeigt wurden. Nach Auskommentierung der Überprüfungsfunktion funktionierte das dann tadellos.

tx_news ExcludeDisplayedNewsViewHelper Lokalisierung

Der Viewhelper ExcludeDisplayedNewsViewHelper der Typo3-Extension „news“ sorgt für einen Ausschluss bereits auf einer Seite angezeigten News z.B. in einer Liste auf der selben Seite. Werden die einzelnen News-Beiträge in eine andere Sprache lokalisieret, so klappt das nicht mehr in dieser neuen Sprachversion.

Dies lässt sich reparieren, indem man in der Klasse ExcludeDisplayedNewsViewHelper.php in der function render(Tx_News_Domain_Model_News $newsItem) „$uid = $newsItem->getUid();“ durch „$uid = $newsItem->_getProperty(‚_localizedUid‘);“ ersetzt.

Magento: Rechnungsstatus auf „Bezahlt“ setzen

Ich hatte den Fall, dass bei einem Magento 1.6.1.0 mit Symmetrics-Rechnungsmodul der Status der Rechnung nicht von „Ausstehend“ auf „Bezahlt“ zu stellen war.

Abhilfe schuf das Hinzufügen von

protected $_canCapture = true;
protected $_canCapturePartial = true;

in die invoice.php aus app/code/community/Symmetrics/Invoice/Model/Method/, direkt oben hinter „protected $_code = ‚invoice';“.

Seitdem gibt es bem Anlegen einer Rechnung die Möglichkeit, diese über ein Auswahlfeld unten auf der Seite zu erfassen bzw. einen Button „Erfassen“ bei den Rechnungen für ein nachträgliches als „Bezahlt“ kennzeichnen.

Typo3 6.0.1: FAL-Verlinkung bei Media-Element

Im neuen Typo3 scheint es ein Problem mit der Einbindung von Dateien über das Media-Element zu geben. Werden diese über FAL eingebunden, so fehlt beispielsweise bei einer SWF-Datei im Frontend im swfobject der Dateipfad komplett.

Dies Problem lässt sich umgehen, in dem man unter „Video-Element“ händisch den kompletten Pfad zur Datei einträgt, statt der FAL-Verknüpfung.

Ergänzend dazu muss man auch beim Audio-Element, bevor man den Medientyp von „Video“ auf „Audio“ stellt, beim Reiter „Video-Element“ die Datei angegeben haben. Später unter „Audio-Element“ funktioniert es nicht mehr. Ob man dort etwas einträgt oder nicht, hat keine Auswirkung.
Darüber hinaus weigert sich der Player, wav-Dateien abzuspielen, mit dem mp3-Format funktioniert es aber.

Magento Rechnungslayout: Schwierigkeiten mit HTML2PDF und Symmetrics_InvoicePdf

Ich habe kürzlich die Magento Extension HTML2PDF von ext4mage installiert in einem Magento 1.6.1.0. Hat alles wunderbar geklappt, bloß dass bei den Invoices nicht die neuen HTML2PDF Rechnungen gezeigt wurden, sondern noch die alten. Bei order und shipping wurden die neuen Rechnungslayouts gezeigt.

Der Grund war das ebenfalls im Zusammenhang mit Market Ready Germany eingesetzte Symmetrics_InvoicePdf Modul, welches hier noch auf die alten Rechnungslayouts zugriff und deaktiviert werden musste. Die Deaktivierung über System > Konfiguration > Admin > Erweitert klappte allerdings nicht. Man kann aber direkt im Ordner app/etc/modules die Datei Symmetrics_InvoicePdf.xml öffnen und “true” gegen “false” austauschen. Nun noch den Magento Cache leeren – dann sollte es in Ordnung sein.

Falls das Modul RHD InvoicePDF installiert ist, so muss es ebenfalls raus, da es von Symmetrics_InvoicePdf abhängig ist. Die Deinstallation über RHD_InvoicePdf.xml -> false klappte bei mir nicht, ich musste die Datei RHD_InvoicePdf.xml in app/etc/modules löschen.

Typo3 6.0: Bild aus den Seiteneigenschaften als Hintergrundbild verwenden

Mit dem für Typo3 6.0 eingeführten FAL funktioniert die althergebrachte Methode nicht mehr, Bilder aus den Seiteneigenschaften (Resources) per Typoscript auszulesen und einzubinden.

Will man z.B. ein Bild der Resources der Typo3-Seite mit der uid = 1 als Hintergrundbild der kompletten Website einbinden, so lässt sich dies im Template-Setup nun so bewerkstelligen:

page.bodyTagCObject = COA
page.bodyTagCObject {
10 = FILES
10.references {
table = pages
uid = 1
fieldName = media
}
10.renderObj = TEXT
10.renderObj {
data = file:current:publicUrl
wrap = background-image:url(|); background-repeat:no-repeat; background-position:center top;
}
}
page.bodyTagCObject.wrap = <body style="|">

Will man für jede Seite ein individuelles Hintergrundbild auswählen, würde es bei „references“ lauten uid.data = page:uid statt uid = 1.

Wenn bei nicht vorhandener Media Resource das Bild der jeweils übergeordneten Seite verwendet werden soll, so funktioniert folgender Code:

page.bodyTagCObject = COA
page.bodyTagCObject {
10 = FILES
10.references {
data = levelmedia:-1, slide
}
10.renderObj = TEXT
10.renderObj {
data = file:current:publicUrl
wrap = background-image:url(|); background-repeat:no-repeat; background-position:center bottom;
}
}
page.bodyTagCObject.wrap = <body style="|">

Um eine Bilddatei auszugeben, bietet jweiland.net hier eine schöne Anleitung: http://jweiland.net/typo3/typoscript/bild-aus-den-seiteneigenschaften-auslesen-ab-typo3-60.html

Typo3 6.0: RTE-Konfiguration mit „showTagFreeClasses“

Die Eigenschaft „showTagFreeClasses“ wird seit Typo3 4.6 als „deprecated“ gekennzeichnet und verursacht seltsamer Weise auch in der  – an sich korrekten und im Install-Tool unter Deprecated RTE properties in Page TSconfig vorgegebenen – neuen Schreibweise „buttons.textstyle.showTagFreeClasses“ den „Fehler“, dass dort im Install-Tool der Hinweis auf diese deprecated properties kommt. Diese Fehlermeldung scheint aber wohl selbst ein Bug zu sein …

Typo3 6.0: Backend-Layouts statt Columns

Im neuen Typo3 Version 6.0 besteht die gewohnte Möglichkeit nicht mehr, im Backend die Spalten über die ext_tables.php bzw. pageTSConfig zu modifizieren. Das soll jetzt über die seit Typo3 4.5 vorhandenen Backend-Layouts geschehen – was auch leicht möglich ist.

Zuerst wird dazu an einem geeigneten Ort (vorzugsweise ein Sys-Ordner) ein neuer Datensatz vom Typ „Backend-Layout“ erstellt. Dort gibt es dann ganz unten einen Konfigurator zum Erstellen des eigentlichen Layouts. Dieses kann man sich zusammenklicken mit beliebiger Zeilen- und Spaltenzahl und beliebig verschachtelt. Wichtig ist neben der Benennung der Bereiche die Vergabe der „colPos“, über deren ID das Layout später per TypoScript angesprochen wird.

Die erstellten Backend-Layouts können Seiten (und über „Vererbung“ deren Unterseiten) über „Seite bearbeiten“ im Reiter „Erscheinungsbild“ zugewiesen werden.

Nun muss im TypoScript-Setup der Inhalt der Layouts noch verknüpft werden. Dies kann beispielsweise so geschehen:

page = PAGE
page { 
10 = TEMPLATE
...
10.subparts {
###################################################
# Subparts HEADER (colPos 2) und CONTENT (colPos 1)
###################################################
HEADER = COA
HEADER < styles.content.get
HEADER.select.where = colPos = 0
HEADER.wrap = <div id="contentHeader">|</div>
CONTENT = COA
CONTENT < styles.content.get
CONTENT.select.where = colPos = 1
CONTENT.wrap = <div id="content">|</div>
}
}

Typo3 Jahreszahl automatisch einbinden

Oft möchte man im Footer einer Website – ggf. bei Copyright-Informationen – eine aktuelle Jahreszahl anzeigen. Um dies nicht jedes Jahr manuell ändern zu müssen, hilft ein bisschen Typo-Script wie folgt:

##########################
# copyright in footer
##########################
lib.footerCopy = COA_INT
lib.footerCopy {
10 = TEXT
10.data = date:Y
10.noTrimWrap = |Copyright &copy; | meinseitenname|
}

Extension Manager Typo3 6.0.0

Probleme mit Typo3 6.0.0 Extension-Manager und Spachupdate bei domainFACTORY

Bei einer Test-Installation des neuen Typo3 6.0.0 auf einem domainFACTORY Shared-Hosting-Account gibt es anscheinend Probleme mit dem Sprachupdate. Die – in diesem Fall deutschen – Sprachpakete wurden zwar ins typo3temp-Verzeichnis geladen, aber nicht in l10n/de entpackt, obwohl die Verzeichnisrechte stimmen sollten und zlib laut phpinfo vorhanden ist. Erst ein manuelles Entpacken und Hochladen in l10n/de führte zur Anzeige der deutschen Sprachversion.

Der Extension-Manager zeigt keine Extensions aus dem Repository an („No data available in table“). Die Datei 1.extensions.xml.gz wird über den Link „last update“ rechts oben nicht ins typo3temp-Verzeichnis heruntergeladen, aber über das Anlegen eines Scheduler-Tasks funktioniert der Download. Leider führt das auch nicht zu einer Anzeige der verfügbaren Extensions. Anscheinend kann auch hier die Datei nicht entpackt werden.

Essentiell wichtig ist übrigens das Vorhandensein eines Root-Templates im Seitenbaum. Sonst funktionieren einige Dinge nicht im Backend.
Darüber hinaus muss eine php.ini mit register_globals = Off sowohl im Root-Verzeichnis als auch im typo3-Verzeichnis und unter typo3/sysext/cms/layout/ angelegt sein.

Anmerkung am Rande: Auf einem Strato-Server (Power Web Paket) funktioniert mit dem neuen Typo bisher alles soweit  …