TYPO3-Scheduler-Cronjob bei Strato

Mittwoch, 04.07.2018 10:07

Cronjobs sind mittlerweile unverzichtbar bei der täglichen Arbeit geworden. Vor allem im Umgang mit TYPO3. Die Einrichtung eines solchen Cronjobs ist von Anbieter zu Anbieter verschieden. Hier nun mal ein Beispiel, wie es bei Strato funktioniert:

1. PHP-Datei im Root der Webseite erstellen (z.B. runscheduler.php):

exec('pwd', $myResult);
$myPath = $myResult[0];
system ('env -i /bin/php71 -f ' . $myPath . '/typo3/cli_dispatch.phpsh scheduler');

Je nach benötigter PHP-Version müsst Ihr den Pfad /bin/phpXX anpassen. Die verfügbaren PHP-Versionen findet man z.B. über das Terminal, indem man in den Ordner /bin/ schaut, welche Versionen dort verfügbar sind.

2. PHP-Datei vom Cronjob aus aufrufen:

wget --no-check-certificate -O /dev/null https://www.domain.de/runscheduler.php

P.S.: Dies ist natürlich nur ein Beispiel. Evtl. kann man mittlerweile auch den eigentlichen Aufruf (env -i /php/php71 -f /path/to/my/docroot/typo3/cli_dispatch.phpsh scheduler) mittlerweile auch schon direkt im Cronjob-Manager eintragen.

P.P.S.: Ab TYPO3 8.7 sollte der Scheduler mittels /path/to/my/docroot/typo3/sysext/core/bin/typo3 scheduler:run aufgerufen werden.

Thema: TYPO3 | Kommentare (0) | Autor:

RealUrl in eID-Service verfügbar machen

Dienstag, 25.03.2014 21:34

Benötigt man innerhalb eines eID-Services einen RealUrl-konformen Link, muss man etwas nachhelfen:

Innerhalb der eid_main – Methode fügt man folgende Zeilen hinzu:

if(t3lib_extMgm::isLoaded('realurl')){
require_once(t3lib_extMgm::extPath('realurl').'class.tx_realurl.php');
$this->realurl = t3lib_div::makeInstance('tx_realurl');
$GLOBALS['TSFE']->config['config']['tx_realurl_enable'] = 1;
}

und an entsprechender Stelle:

$conf['LD'] = $GLOBALS['TSFE']->tmpl->linkData(array('uid' => $targetPageUid), '', 0, 'index.php', '', t3lib_div::implodeArrayForUrl('', array('param1' => $param1)));
$url = $conf['LD']['totalURL'];

Die Methode linkData ist definiert:
t3lib_TStemplate::linkData($page, $oTarget, $no_cache, $script, $overrideArray = '', $addParams = '', $typeOverride = '')

und ist hier auch noch mal beschrieben.

 

Anmerkungen gern hier in den Kommentaren.

Thema: TYPO3 | Kommentare (0) | Autor:

Eindeutige ID für Body-Tag

Dienstag, 09.07.2013 19:03

Manchmal möchte man Elemente, die auf verschiedenen Seiten wiederkehren, für spezielle Seiten per CSS formatieren. Lösungsansätze gibt es hierfür verschiedene. Inhalts-Elemente besitzen ja schon eigene IDs (c123), über die man das Element ansprechen kann.

Dennoch ist es manchmal von Vorteil, der BODY-Tag hätte eine eigene ID (oder Klasse), über die man alle Inhalte innerhalb ansprechen kann.

Dazu ist folgendes TypoScript (Setup) notwendig:

page.bodyTag >
page.bodyTagCObject = TEXT
page.bodyTagCObject.field = uid
page.bodyTagCObject.wrap = <body id="page-|">

Wenn wir jetzt noch eine Klasse hätten, die auch noch die ID der übergeordneten Seite ausgäbe, so wäre es natürlich noch besser.

page.bodyTag >
page.bodyTagCObject = TEXT
page.bodyTagCObject.field = uid
page.bodyTagCObject.wrap = <body id="page-|" class="parent-{field:pid}">

Thema: TYPO3, TypoScript | Kommentare (0) | Autor:

Rechte-Problem trotz Admin

Sonntag, 23.12.2012 11:19

Bei der aktuellen (4.7.7) Version von TYPO3 wurde das Anlegen von neuen Inhaltselementen mit der Meldung „Sorry, you didn’t have proper permissions to perform this change.“ (oder auf deutsch: „Sie haben nicht die nötigen Rechte, um diese Änderung durchzuführen“) abgebrochen. Trotz angemeldeten Admin-Nutzers.

Hierbei scheint es sich um einen Bug im TYPO3 (bzw. TemplaVoilá) zu handeln (http://bugs.typo3.org/view.php?id=18583). Dabei scheint TemplaVoilá auf ein Feld in der pages-Tabelle zugreifen zu wollen, das aber nicht mehr existiert.

Abhilfe schafft ein einfacher Trick, nämlich das Feld einfach wieder hinzuzufügen:

ALTER TABLE pages ADD t3ver_swapmode tinyint(4) NOT NULL default '0'

Bei einem Versionsupgrade kann es beim „Compare“ im InstallTool schnell mal passieren, dass ein Feld aus der Datenbank entfernt wird, da dieses TYPO3 selbst nicht mehr benötigt. Fremd-Extensions (wie in unserem Fall TemplaVoilá) sind darauf natürlich nicht vorbereitet.

Thema: TYPO3 | Kommentare (1) | Autor:

cObj in Scheduler-Task verwenden

Mittwoch, 31.10.2012 13:02

Scheduler-Tasks haben nicht den vollen Umfang aller TYPO3-Funktionen zur Verfügung, da diese ohnehin oftmals nicht benötigt werden. Manchmal braucht man aber spezielle Funktionen/Methoden, um z.B. Bilder rendern zu lassen oder mit HTML-Templates arbeiten zu können. Hierzu wird oft das cObj benötigt, welches im Scheduler-Task aber nicht vollständig vorliegt bzw. komplett fehlt.

Hierzu sorgen folgende Zeilen für Abhilfe:

chdir(PATH_site);
if(!$GLOBALS['TSFE'] instanceof tslib_fe){
    $GLOBALS['TSFE'] = t3lib_div::makeInstance('tslib_fe', $GLOBALS['TYPO3_CONF_VARS'], 0, 0);
    $GLOBALS['TSFE']->config['config']['language'] = null;
    $GLOBALS['TSFE']->initTemplate();
}
if(!isset($GLOBALS['TT'])){
    $GLOBALS['TT'] = t3lib_div::makeInstance('t3lib_TimeTrackNull');
}
$GLOBALS['TSFE']->tmpl->getFileName_backPath = PATH_site;
$cObj = t3lib_div::makeInstance('tslib_cObj');

Thema: Extensions, TYPO3 | Kommentare (4) | Autor:

Keine Thumbnails mehr auf 1&1 Server

Freitag, 06.07.2012 19:32

Auf 1&1-Servern wurden keine Thumbnails mehr dargestellt. Nach längerer Suche haben wir endlich eine Lösung gefunden.

Abhilfe schafft hierbei eine zusätzliche Zeile in der localconf.php (vor den Kommentar: „## INSTALL SCRIPT EDIT POINT TOKEN – all lines after this points may be changed by the install script!“):

putenv('MAGICK_THREAD_LIMIT=1');

Dabei setzt putenv die Umgebungsvariable MAGICK_THREAD_LIMIT auf 1.

Thema: TYPO3 | Kommentare (0) | Autor:

Statt Icons nur noch drei Punkte im Extension Manager

Mittwoch, 09.05.2012 20:26

Sollten im Extension Manager statt den Icons zum (de-)installieren nur noch drei Punkte erscheinen, so hat dies mit dem neuen Firefox (12) und einem Bug im Extension Manager zu tun.

Abhilfe schafft hier ein Workaround, indem man in der typo3/sysext/em/res/css/t3_em.css ab Zeile 283 statt

.paddingNoActionIcon img {
    margin-right: 20px;
}

jetzt

.paddingNoActionIcon img {
    margin-right: 5px;
}

schreibt. Der Bug ist auch hier beschrieben.

Thema: TYPO3 | Kommentare (0) | Autor:

Zeichen ersetzen per TypoScript

Mittwoch, 28.03.2012 06:35

Um per TypoScript Zeichen oder Worte durch andere (oder auch bestimmte Zeichenfolgen durch ein Bild) zu ersetzen, kann man mit folgendem Snippet arbeiten (hier am Beispiel des gesamten Page-Bereichs):

page.stdWrap.parseFunc.short.meineFirma  = <span class="highlight">meineFirma</span>

Diese Zeile bewirkt, dass überall auf der Seite, wo „meineFirma“ vorkommt, dieser Name mit der angegebenen Phrase („<span class="highlight">meineFirma</span>“) ersetzt wird. Natürlich sind auch Mehrfachanweisungen möglich:

page.stdWrap.parseFunc.short {
	alterFirmenname  = <span class="highlight">neuerFirmenname</span>
	alterGeschaeftsfuehrer = <span class="highlight">neuerGeschaeftsfuehrer</span>
	schreipfeler = Schreibfehler
}

Thema: TYPO3, TypoScript | Kommentare (1) | Autor:

Probleme mit RealUrl und jQuery Tabs

Mittwoch, 14.12.2011 16:40

Bei der Arbeit mit jQuery Tabs in Verbindung mit RealUrl tauchte das Phänomen auf, dass im aktiven Tabinhalt die Seite selbst dargestellt wurde. Dies setzte sich endlos fort, bis der Browser voll lief. Nach einiger Recherche wurde klar, dass sich RealUrl und jQuery Tabs nur bedingt vertragen.

Hier nun die Lösung:

Direkt vor dem Initialisieren der Tabs mittels

$('.tabsContainer').tabs();

müssen die Link-href´s per jQuery überschrieben werden:

$(".tabsContainer > ul a").attr("href", function() {
if ($(this).attr("href").indexOf("#") > -1) { return "#" + $
(this).attr("href").split("#")[1]; } else { $(this).attr("href"); }
});

Thema: TYPO3 | Kommentare (2) | Autor:

TYPO3-Extensions vor Update schützen

Donnerstag, 22.09.2011 06:15

Hat man z.B. eine bestehende TYPO3-Extension modifiziert (sollte man vermeiden; besser: die Extension mit einem Hook erweitern), möchte man natürlich, dass diese Extension bei einem eventuellen Update nicht mit einbezogen wird und man Gefahr läuft, dadurch alle Änderungen zu überschreiben.

Dies erreicht man recht einfach, indem man in der ext_emconf.php der jeweiligen Extension den ‘state’ auf ‘excludeFromUpdates’ setzt.

 

Thema: TYPO3 | Kommentare (0) | Autor:

TYPO3 Internetagentur Dresden
Diese Webseite verwendet Cookies. Weitere Informationen.