Kategorien-Archiv: Typo3

direct_mail und cronjob.de

Wenn man, so wie ich, bei domainfactory shared hostet, so bekommt man zwar Cronjobs, aber nicht unbedingt wann man sie haben möchte. Für direct_mail braucht man nunmal einen cronjob, der z.B. alle 5 min läuft.

Zum Glück gibt es cronjob.de, die machen eigentlich nichts anderes, als dein PHP-Skript in regelmäßigen Abständen aufzurufen. Die für direct_mail nötigen Skripte liegen in ‘typo3conf/ext/direct_mail/res/scripts’ und heißen dmailerd.phpsh und returnmail.phpsh.

Damit die Nummer funktioniert, müssen beine Skripte von einem Shellscript in ein PHP-Skript umgewandelt werden, das ist im Prinzip nicht schwer, man benennt einfach die Endungen um, in ‘.php’. Dann löscht man jeweils die erste Zeile im Skript (‘#! /usr/bin/php -q’), und fügt folgende Codezeile nach den Kommentarzeilen, vor dem eigentlichen Code ein:

define('PATH_site', '/absoluter/pfad/zur/seite/');

den absouten Pfad zur Seite bekommt man im regelfall im Admin-Menü des Hosters heraus, im fall von df ist es etwas wie ‘/kunden/kundennummer_PLZ/webseiten/meineseite/’.

Wenn man das erledigt hat, lässt sich das Skript durch einen simplen HTTP-Aufruf starten. Sehr sinnvoll ist hier, das Verzeichnis, in dem die Skripte liegen, per .htaccess zu schützen, cronjob.de kann URLs in der form ‘user:passwort@domain.tld/irgendwas’ verarbeiten

Veröffentlicht in Webkram, php | Getagged | Kommentieren

301 redirects using Typo3 domain records

to avoid duplicate content a 301 redirect pointing from http://my-domain.com to http://www.my-domain.com can be achieved using the jb_status_url extension.

more info here

Veröffentlicht in SEO, Webkram | Kommentieren

Wisdom: Golden rules for TYPO3 extension programmers

Excellent list:

Wisdom: Golden rules for TYPO3 extension programmers « TYPO3 FLYERS

Veröffentlicht in Webkram | Getagged | 2 Kommentare

Typo3-Crawler per Cronjob bei domainfactory

typo3/cli_dispatch.phpsh muss angepasst werden, da PHP bei df als CGI läuft und am Anfang dieses Skript geprüft wird, ob es von der Kommandozeile (‘cli’) aus gestartet wurde. Bei df trifft das nie zu, deshalb wird hier abgebrochen. Relativ am Anfang des Skripts gibt es folgenden Block:

if (PHP_SAPI!='cli') {
   die('Not called from a command line
                        interface (eg. a shell or scheduler).'.chr(10));
}


Die die()-Anweisung kann gefahrlos auskommentiert werden (mit //)

Anschließend muss man cli_dispatch.phpsh mit parameter “crawler” aus dem cli-verzeichnis der crawler-extension aufrufen (Pfad zu PHP variiert je nach Server, das hier geht bei mir):

/usr/local/bin/php5 -f /path/to/typo3page/typo3/cli_dispatch.phpsh crawler

Das kann man dann auch mittels Cronjob automatisieren.

Erfunden hab ich das alles nicht selbst, sondern hier abgeschrieben und angepasst, Vielen Dank!

Veröffentlicht in Webkram | Getagged | 2 Kommentare

Formidable RENDERLET:LISTER mit Template

Templates für RENDERLET:LISTER muss man nicht selber erstellen, formidable baut sehr brauchbare vorlagen:

Man nimmt in das Renderlet folgenden Template-Block auf:

<template>
   <path>EXT:my_extension/res/templates/test.tpl</path>
   <subpart>###LIST###</subpart>
</template>


In der Templatedatei (hier test.tpl) sollte der Subpart ###LIST### noch nicht vorhanden sein. Wenn man jetzt formidable sein Werk verrichten lässt, gibt, wie zu erwarten, eine Fehlermeldung aus. Gleichzeitig hat es jedoch gleich auch ein Template für den Lister erstellt, die man kopieren/eifügen und anpassen kann. Wenn doch alle Fehlermeldungen so hilfreich wären…

via [TYPO3-project-formidable] custom CSS to lister and other?

Veröffentlicht in Allgemeines, formidable | Getagged , | Kommentieren

formidable Validators Howto

Schöne Zusammenfassung wie man in formidable die validators benutzt:

http://formidable.typo3.ug/typo3-form-news/news/0018-how-to-use-validators/back/2.html

Veröffentlicht in Allgemeines, Webkram, formidable | Getagged | Kommentieren

formidable Button-Renderlet als Link

formidable-Buttons kann man nicht so ohne weiteres als Link zweckentfremden, nach ein bischen googlen gehts aber doch:

<renderlet:BUTTON name="myLinkButton" label="myLabel">
<custom>
<userobj>
<php>
<![CDATA[
$link = 'onClick="location.href=\'http://my.Link.com\'"';
return $link;
]]>
</php>
</userobj>
</custom>
</renderlet:BUTTON>

Im Prinzip wird dem Button über das custom-Tag ein Javascript untergeschoben, das die Verlinkung übernimmt.

Veröffentlicht in Javascript, Webkram, formidable | Kommentieren

TypoScript-Parameter an formidable weitergeben

formidable kann nicht direkt auf im Typoscript-Setup definierte Werte zugreifen, mit einem Trick klappt es aber doch:

Im Typoscript übergibt man einen wert:

plugin.tx_meinplugin_pi1.testValue = 42

das kann man dann in seinem Frontend-Plugin einlesen:

$this->testValue = $conf['testValue'];

In eine <userobj> im  formidable-XML kann man dann so auf den Wert zugreifen:

$value = $this->_oParent->testValue;

mit $this->_oParent kann man auf alle Variablen des FE-Plugins zugreifen.

Hier ist das originale Post

Veröffentlicht in TypoScript, Webkram, formidable | Kommentieren

Redirect nach erfolgreichem Submit / actionlets

actionlets sind formidable-Objekte, die ausgeführt werden, wenn das Formular erfolgreich validiert. Leider sind sie kaum dokumentiert, hier deshalb die Kurzfassung:

Wenn man folgenden Code innerhalb des <control></control> Blocks im XML plaziert, findet ein redirect statt:

<actionlets>
<actionlet:REDIRECT>
<pageid>350</pageid>
</actionlet:REDIRECT>
</actionlets>

mehr info gibt es hier und hier.

Veröffentlicht in Allgemeines, Webkram, formidable | Getagged , , | Kommentieren

formidable formdata holen

$variable = $this->oDataHandler->_getFormData();
$wert = $variable['name_des_feldes'];
Veröffentlicht in Webkram, formidable, php | Getagged | Kommentieren