Ich habe mich letzte Woche mit Mehrspaltigkeit in TYPO3 auseinandergesetzt. Ich habe bisher in 4er-Versionen gearbeitet und wollte nun der neuen Version 6 eine Chance geben. Da die Layouts, die ich serviert bekomme, meistens abwechslungsreich sind (2 oder 3 Spalten innerhalb einer Content-Spalte), habe ich bisher immer TemplaVoila genutzt. Die Flexibilität von TV und der Einsatz von FCEs macht TV zu einem mächtigen Templating-Tool in TYPO3.
Beiträge von npostnik
„Page not configured“ Fehler bei Extension pagerating
Zum Testen hatte ich die Extension „pagerating“ installiert auf meinem XAMPP. Habe das Template inkludiert, jQuery meiner Seite hinzugefügt. Dann klickt man auf den Link zum Voten (es kommt ein Alert) und die Konsole zeigt eine Fehlermeldung an. Hab auf den Link geklickt – es kommt eine TYPO3 Fehlermeldung „Page type not configured“. In der Configuration der Extension wird ein Seitenobjekt definiert – sieht soweit alles richtig aus, komisch, dass es nicht funktioniert.
Dann hab ich mir mal die typeNums der Seiten anzeigen lassen. In der Extension ist es so gesetzt:
pageTypeNum = 43873923824
Wir auch in den Links so generiert. Aber in der Fehlermeldung steht folgendes:
The page is not configured! [type=2147483647]
Die Ursache dieser unterschiedlichen Zahlen ist der Typ des pageTypeNum-Wertes. Dieser ist nämlich int. Und der maximale Wert für einen int-Wert (zumindest in Windows) ist eben 2147483647. Das Problem ist somit behoben, wenn man über Konstanten-Editor den pageTypeNum auf einen geringeren Wert setzt als eben den maximalen int-Wert.
TYPO3 6.0 Inhaltselemente anlegen nicht möglich
Hab mir das TYPO3 6.0 Government Package installiert. Als ich versucht habe, ein Inhaltselement anzulegen, kam folgende Fehlermeldung:
Call to undefined method TYPO3\CMS\Core\Utility\GeneralUtility::readLLXMLfile()
TYPO3 ist scheinbar in der Lage aus t3lib_div die korrekte Klasse zu ermittelt, aber der Funktionsname hat sich inzwischen geändert. Zwei Lösungsvarianten:
Datei typo3conf/ext/tt_news/pi/class.tx_ttnews_wizicon.php
Variante 1) Nur den Funktionsnamen ändern
function includeLocalLang() { $llFile = t3lib_extMgm::extPath('tt_news').'locallang.xml'; $LOCAL_LANG = t3lib_div::readLLfile($llFile, $GLOBALS['LANG']->lang); return $LOCAL_LANG; }
Variante 2) Auch die Klassennamen ändern (mit Namespaces)
function includeLocalLang() { return \TYPO3\CMS\Core\Utility\GeneralUtility::readLLfile(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('tt_news') . 'locallang.xml', $GLOBALS['LANG']->lang); }
TYPO3 6.0 Extension Manager funktioniert nicht
Habe mir TYPO3 Version 6.0 zum Anschauen installiert (XAMPP 1.8.1, Windows 7). Bisher funktioniert alles, außer dass beim Aufruf des Extension Managers der Apache abstürzt und eine leere Seite mit der Fehlermeldung angezeigt wurde, dass die Seite nicht geladen werden konnte. Hab dann ein bisschen gesucht und folgende Lösung gefunden, die tatsächlich schnell geholfen hat.
Ursache „Fluid uses complex regular expressions which require a lot of stack space during the first processing. On Windows the default stack size for Apache is a lot smaller than on unix. You can increase the size to 8MB (default on unix) by adding to the httpd.conf:“.
Also am Ende der httpd.conf-Datei folgendes einfügen und Apache neu starten:
ThreadStackSize 8388608
Quelle: Probleme beim Zugriff auf den Erweiterungsmanager typo3forum.net
Colorbox Href dynamisch setzen
Ich bin ein großer Fan der jQuery Colorbox und setze sie sehr häufig ein. Die Colorbox ist sehr flexibel, kann sehr gut überall integriert werden und kann fast alle Arten von Inhalten ohne Probleme darstellen.
Normalerweise verwendet die Colorbox die URL aus dem Link, d.h. in diesem Fall würde die URL seite.html geöffnet werden:
<a href="seite.html">Link</a>
<script>
$('a').colorbox();
</script>Man kann die URL für mehrere Links statisch auf eine andere URL setzen, in diesem Fall würde bei beiden Links die andereseite.html geöffnet werden:
<a href="seite1.html">Link 1</a>
<a href="seite2.html">Link 2</a>
<script>
$('a').colorbox({href: 'andereseite.html'});
</script>In meinem Fall hatte ich folgendes vor: Für Benutzer ohne JavaScript, bzw. für welche, die den Link in einem neuen Fenster oder Tab öffnen wollen, soll auf die normale Version der Seite verlinkt werden. Und falls JavaScript aktiviert ist und auf den Link geklickt wird, so soll eine Popup-Version der Seite aufgerufen werden. In diesem Fall kann man an href eine Funktion übergeben, die dynamisch die URL setzt. d.h. beim ersten Link wird andereseite1.html geöffnet, beim zweiten andereseite2.html:
<a href="seite1.html" data-cboxhref="andereseite1.html">Link 1</a>
<a href="seite2.html" data-cboxhref="andereseite2.html">Link 1</a>
<script>
$('a').colorbox({href: function() {
return $(this).attr('data-cboxhref');
}});
</script>Extbase: Tabellenname in Repository ermitteln
Ich dachte, es wäre etwas einfacher, aber es funktioniert wohl (nur) so. Diese Funktion in die Repository-Klasse einfügen:
/** * Return the current tablename * * @return string */ protected function getTableName() { return $this->persistenceManager->getBackend()->getDataMapper()->getDataMap($this->getRepositoryClassName())->getTableName(); }
Gefunden habe ich es beim TYPO3 Blogger Adventskalender von 2011.
Virtual Hosts unter Windows / XAMPP
Dieser Artikel mit einer detaillierten Beschreibung hat mir sehr geholfen. Wobei bei mir nur der Teil funktioniert hat, der unter Update angegeben ist.
Kurzversion:
- Apache stoppen
- Konfigurationsdatei httpd.conf suchen (wahrscheinlich c:\xampp\apache\conf\httpd.conf)
- dort nachschauen, ob die Virtual Hosts in eine separate Datei ausgelagert sind (wahrscheinlich ja unter extra\httpd-vhosts.conf)
- Die Datei httpd-vhosts.conf zum Bearbeiten öffnen
- Zeile
NameVirtualHost *:80entkommentieren - dann folgendes eintragen (Domain und Ordner durch eigene ersetzen):
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/devdomain/"
ServerName mydevdomain.local
<Directory "C:/xampp/htdocs/devdomain/">
Options Indexes FollowSymLinks ExecCGI Includes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>Danach den Apache neu starten. Dann muss noch ein Eintrag in der Hosts-Datei von Windows gemacht werden. Da es unter Windows 7 nicht so einfach ist, hat mir dieser Beitrag geholfen. Denn es ging tatsächlich nur so.
Step Choreo (Fortgeschritten)
Block A (bilateral)
7 – Stomp L seit, Knee Twist, auf 4 Turn Reverse
9 – Box over, Double Stomp over (innen, außen over)
Aufbau: Knee + 3 Basic => Knee R + 2 Basic R + Double Stomp R => Stomp seit mit Knee Twist + 2 Basic R + Double Stomp R
Block B (unilateral)
9 – Knee L, Kick L, Turn Reverse R (auf der anderen Seite)
7 – Stomp, Basic over
Aufbau: 2 Knee + 2 Basic => Knee + Kick + March + Basic
Block C (bilateral)
8 – Knee diagonal, Double Stomp
8 – Push Switch 2x, Box over (auf der anderen Seite enden)
Aufbau: Repeater + 2 Basic => Knee + 2 Stomp + 2 Basic => Basic wird zu 2 Stomp + Basic
Block D (bilateral)
8 – L-Step, Pendel
8 – Stomp, Chacha over (auf der anderen Seite enden)
Aufbau: 3 Basic + 1 Knee => L-Step + 2 Basic + Chacha
Zusammengesetzt: A + B + C + C + D + D aufgebaut nach SPLIT ergibt eine Choreo mit 6 32er Blöcken. Auf Wunsch kann am Ende geschnitten werden, so dass eine Choreo mit 4 32er Blöcken entsteht, dabei endet der 3.Block auf der anderen Seite, wo der 4. beginnt, der wieder zurück nach vorn führt.
Bildgröße im Data Structure überschreiben
Der große Vorteil von TemplaVoila ist die große Flexibilität bei den Templates. Wenn man nun ein Template erstellt mit z.B. zwei Spalten, bei denen die erste 600px und die andere nur 300px breit ist, ist es sehr schwer einen allgemeinen Wert für maximale Bildgrößen anzugeben. Zum Glück kann man im Data Structure die maximale Bildbreite für eine bestimmte Spalte überschrieben. Dazu in den TypoScript Abschnitt folgendes einsetzen:
<TypoScript> <![CDATA[ 5 = LOAD_REGISTER 5.maxImageWidth = 300 10= RECORDS 10.source.current=1 10.tables = tt_content 10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end--> 15 = RESTORE_REGISTER ]]> </TypoScript>
Die maximale Bildgröße wird dadurch in der Spalte auf nur 300px gesetzt. Hat man am normalen Verhalten bzgl. Bild in Text nichts geändert, dann ist in diesem Fall ein Bild im Text nur 150px breit.
TCA in Plugin laden
Um Werte aus dem TCA im einenen Plugin zu verwenden, kann man die Funktion t3lib_div::loadTCA(‚fe_users‘) nutzen, um das TCA zu laden. Dann steht es unter $GLOBALS[‚TCA‘][‚fe_users‘] zur Verfügung und kann ausgelesen werden. Leider lädt diese Funktion nur die Felder, die im Core definiert sind. Wenn das TCA durch Extensions erweitert wird, sind diese Felder nicht darin gelistet. Warum das so ist, kann man im TYPO3 Bugtracker nachlesen.
Wenn mann stattdessen folgende Funktion verwendet, werden alle Felder inkl. der Felder aus den Extensions geladen:
$GLOBALS['TSFE']->includeTCA();
Neueste Kommentare