Typo3: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
 
(149 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
in Arbeit!
 
  
== Installation ==
 
  
=== Basis ===
+
[http://jweiland.net/typo3/versionen-und-updates.html immer wieder ein Blick wert, gute Übersicht über die neuen Funktionen in den neuen Versionen]
 +
* http://t3n.de/magazin/23-tipps-tricks-schnelleres-typo3-typo3-turbo-edition-225282/4/
  
apt-get install typo3
+
''' [[TYPO3 LTS 9]] '''
  
=== dummy ===
+
''' [[TYPO3 LTS 8]] '''
  
# dummy kommt ins /home/dev, alternativ irgendwo anders hin
+
'''TYPO3.CMS ab 7.6'''
cd /home/dev/
+
* Allgemein
 +
** [[TYPO3.CMS 7.6 Extensions]]
 +
** [[typo3 Installation_7.6]]
 +
** [[TYPO3.CMS 7.6 Schnipsel]]
  
cp /var/lib/typo3-dummy . -r
+
** [[typo3 Entwicklereinstellungen]]
rm typo3-dummy/typo3conf/localconf.php
+
* [[fluid]]
cp /etc/typo3-dummy/localconf.php typo3-dummy/typo3conf/
 
chown devuser:www-data typo3-dummy/ -R
 
chmod g+r typo3-dummy/typo3conf/localconf.php
 
ln -s typo3-dummy/ /var/www/typo3-dummy
 
  
danach sollte im Browser mit der Url [http://localhost/typo3-dummy/ localhost/typo3-dummy] folgende Fehlermeldung erscheinen "No pages are found on the rootlevel!"
+
'''TYPO3.CMS ab 6.2'''
 +
* Allgemein
 +
** [[typo3 Installation]]
 +
** [[typo3 LTS Upgrade]] - auf die neue 6.2 Version updaten
 +
** [[typo3 netbeans]]
  
== Konfiguration ==
+
** [[Typo3 V6 Rechteverwaltung]]
ausgehend von der dummy Seite [http://localhost/typo3-dummy/ localhost/typo3-dummy] bzw im Beispiel Ordner /home/dev
+
** [[TYPO3.CMS 6.2 Extensions]]
 +
* Extensions entwickeln
 +
** [[typo3 extbase]] - Grundlagen zu einer Extension
 +
** [[typo3 Extensions entwickeln]]
 +
** [[TYPO3.CMS 6.2 Extension jquery.dataTables]]
 +
** [[TYPO3.CMS 6.2 Extension entwickeln]]
 +
** [[TYPO3.CMS 6.2 Extension entwickeln - Backend]]
 +
** [[TYPO3.CMS 6.2 Extension entwickeln - Cron Scheduler]]
 +
* netz.coop Extensions
 +
** [[ncregisterplus]]
  
 +
[[typo3 4.5]]
 +
 +
== '''TYPO3 Flow''' ==
 +
* freies PHP Applikation-Framework
 +
* Fundament für das geplante TYPO3 Neos, lässt sich aber auch unabhängig davon einsetzen
 +
* Paradigmen
 +
** MVC
 +
** Aspektorientierte Programmierung
 +
** Domain-Driven Design
 +
** Dependency Injection
 +
** Testgetriebene Entwicklung
 +
** Signal-Slot-Konzept
 +
 +
 +
* [[Typo3 Flow]]
 +
 +
== '''TYPO3 Neos''' ==
 +
* Zukunftmusik: von Grund auf neu entwickelte Fassung
 +
* Ursprünglich als TYPO3 Version 5.0 geplant
 +
* System erhält eine grundlegend neue Architektur basierend auf dem Framework TYPO3 Flow
 +
 +
 +
 +
== ''' HTTP/HTTPS bzw Multiple Domains Problem '''==
 +
 +
unter Typoconstants:
 +
 +
BASEURL = http://xxx.xxx.coop/
 +
[globalString = ENV:HTTP_HOST=xxx.xxx.coop]
 +
  BASEURL = http://xxx.netz.coop/
 +
[globalString = ENV:HTTP_HOST=xxx.xxx.coop] AND [globalString =_SERVER|HTTPS=on]
 +
  BASEURL = https://xxx.xxx.coop/
 +
[global]
 +
unter Typoscript:
 +
 +
config.baseURL = {$BASEURL}
 +
 +
 +
 +
== nicht einsortiert ==
 +
 +
 +
 +
* '''Verschiedenes
 +
** [[Diskussion:Typo3]]
 +
** [[typo3 Verschiedenes]]
 +
 +
 +
== Probleme ==
 +
=== Backend: Ein Login ist nicht möglich, mensch fliegt immer wieder raus ....  ===
 +
 +
# nach einem Domainumzug die Coockie Domain im Install Backend ändern
 +
[SYS][cookieDomain] = .netz.coop
 +
 +
=== Oops, an error occurred! Code: beim Entwickeln in Typo3 7.6 ===
 +
 +
.htaccess
 +
<source lang=apache>
 +
RewriteCond %{HTTP_HOST} ^dev\.domain\.tld$
 +
RewriteRule .? - [E=TYPO3_CONTEXT:Development]
 +
</source>
 +
 +
== Fehler ==
 +
=== addJsFooterInlineCode führt zu js fehlern: Uncaught SyntaxError: Unexpected identifie ===
 +
 +
Fehler ist aufgetreten in Kombination mit ext:min und ext:ws_flexslider
 +
 +
addJsFooterInlineCode hat stumpf einfach das letzte symicolon gelöscht, was bei Wiederholung zu natürlichen fehler führte!!!!!
 +
 +
* falsch
 +
<source lang=html>
 +
<prod:pageRenderer.addJsFooterInlineCode name="flexslider-{uid}" >
 +
  console.log('asdfasdf');
 +
</prod:pageRenderer.addJsFooterInlineCode>
 +
</source >
 +
 +
 +
* richtig:
 +
<source lang=html>
 +
<prod:pageRenderer.addJsFooterInlineCode name="flexslider-{uid}" compress="false" >
 +
  console.log('asdfasdf');
 +
</prod:pageRenderer.addJsFooterInlineCode>
 +
</source >
 +
 +
=== Could not analyse class: Vendor\Extension\Controller\SomeController maybe not loaded or no autoloader? ===
 +
 +
Oops, an error occurred!
 +
Could not analyse class: Vendor\Extension\Controller\SomeController maybe not loaded or no autoloader?
 +
 +
Beim Namespace noch mal penibel prüfen ob der richtig geschrieben ist .. zb. Camelcase, nach _ großer Buchstabe!!!!!!!
 +
 +
 +
=== Could not acquire lock for ClassLoader cache creation.===
 +
* nix funzt mehr, FE, BE, Install
 +
 +
typo3temp/locks
 +
 +
da kann ne lock datei sein, die gelöscht oder verschoben werden musss
 +
 +
=== Repository->findOneBy/findBy gibt query zurück ===
 +
* storageid pid ist nicht gesetzt!!!!!!
 +
* z.B. im Backend beim Plugin die Datensammlung setzen
 +
 +
=== Die Validierung des Sicherheitstokens dieses Formulars ist fehlgeschlagen. Bitte laden Sie das Formular erneut und schicken Sie es dann noch einmal ab. ===
 +
ganz komisch bei manchen post Formularen kommt diese Fehlermeldung und es kann nichts verändert werden. Schuld daran ist apache2filter
 +
 +
siehe zur Kontrolle in '''phpinfo.php'''
 +
<source lang=php>
 +
<?php echo phpinfo(); ?>
 +
</source>
 +
Server API Apache 2.0 Filter
 +
 +
 +
 +
'''dpkg paket libapache2-mod-php5filter muss weg und wird automatisch deinstalliert durch die Installation von libapache2-mod-php5
 +
 +
<source lang=bash>
 +
apt-get install libapache2-mod-php5
 +
a2enmod php5
 
   
 
   
bevor die ''Installationsseite:'' [http://localhost/typo3-dummy/typo3/install/index.php localhost/typo3-dummy/typo3/install] ohne Fehlermeldungen aufgerufen werden kann, muss noch folgendes gemacht werden:
+
</source>
 +
 
 +
=== PHP Fatal error:  require(): Failed opening required 'typo3/../vendor/autoload.php' in index.php on line 32 ===
 +
nutze den composer
 +
<source lang=bash>
 +
cd /usr/local/bin
 +
 
 +
curl -sS https://getcomposer.org/installer | php
 +
 
 +
cd /var/www/lxc-t3-01.lc/TYPO3.CMS
 +
 
 +
composer.phar update
 +
 
 +
</source>
 +
 
 +
=== Table 'typo362.tx_sfregister_domain_model_staticcountry' doesn't exist More information regarding this error might be available online. ===
 +
 
 +
* https://wiki.typo3.org/Exception/CMS/1247602160#Model_mapping_incorrect_or_missing
 +
 
 +
in unserem Fall ins Template auf der die Seite aufgerufen wird
 +
 
 +
plugin.tx_sfregister.persistence.classes.Tx_Sfregister_Domain_Model_Staticcountry.mapping.tableName = static_countries
 +
 
 +
unbedingt danach die Caches löschen im zweifel über install ... weil sonst passiert jar nichts
 +
 
 +
=== Fatal error: Uncaught exception 'RuntimeException' with message 'Could not acquire lock for ClassLoader cache creation.' ===
 +
in typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:718 Stack
 +
 
 +
* fehler war weg nach dem löschen der Dateien in typo3temp/locks
 +
 
 +
 
 +
=== PHP Fatal error:  Call to undefined method FluidCache_SfRegister_FeuserCreate_partial_FormErrors_ ::section_ () in AbstractTemplateView.php on line 222 ===
 +
 
 +
Fehler kommt komischer weise nach dem zweiten Seiten reload, also beim ersten mal funzt es ... dann wenn er versucht aus dem Cache den Inhalt zu bekommen, gibts Probleme
 +
 
 +
 
 +
Render partial Aufruf hat eine section angegeben, nämlich Main
 +
<source lang=xml>
 +
<f:render partial="FormErrors" section="Main" arguments="{for: 'user'}" />
 +
</source>
 +
 
 +
diese existiert aber im partial gar nicht ...
 +
<source lang=xml>
 +
<f:form.validationResults for="{object}">
 +
.......
 +
</f:form.validationResults>
 +
</source>
 +
 
 +
also muss die section darum
 +
<source lang=xml>
 +
<f:section name="Main">
 +
<f:form.validationResults for="{object}">
 +
.......
 +
</f:form.validationResults>
 +
</f:section>
 +
</source>
 +
 
 +
== externe Links ==
 +
* '''Source Code'''
 +
** [https://typo3.org/documentation/api/ TYPO3 API Documentation ]
 +
*** [http://api.typo3.org/typo3cms/47/html/ TYPO3CMS  4.7]
 +
**** [http://api.typo3.org/fluid/13 Fluid - 1.3 (in TYPO3 4.5)]
 +
**** [http://api.typo3.org/extbase/13/ Extbase - 1.3 (in TYPO3 4.5)]
 +
 
 +
* '''Anwendung'''
 +
** [http://typo3.uni-koeln.de/typo3-service-rrzk.html Auf diesen Seiten finden Sie alles rund um das Thema TYPO3. ]
 +
** [http://typo3.uni-koeln.de/index.php?id=10863 export/import seite]
 +
** [http://www.internetprofi.org/faq/content/10/14/de/exportieren-einer-typo3-seite-fuer-version-381.html export]
 +
** [http://www.typo3lexikon.de/typo3-tutorials/extensions/fluid.html "'''Fluid''' wird die neue Standard Templatemaschine für TYPO3-Version 5"-Tutorial]
 +
 
 +
* '''typoscript'''
 +
** [http://www.pi-phi.de/typoscript.html Typoscript]
 +
** [http://www.pi-phi.de/20.html wichtige TypoScript-Variablen]
 +
** [http://typo3.org/extension-manuals/ts45min_de/0.5.1/view/1/2/ 1.2. Inhalte einlesen ]
 +
** [http://www.typo3-profibuch.de/code-listings/zweite-auflage/kapitel-4/ Codebeispiele aus dem Typo3 Profihandbuch]
 +
** [http://www.typo3.net/tsref/cobject/ Inhaltselemente (cObject)]
 +
** [https://typo3.org/extension-manuals/ts45min_de/0.5.2/view/1/1/ 45 Minuten TypoScript]
 +
 
 +
* '''mobile'''
 +
** [http://t3n.de/magazin/jquery-mobile-typo3-mobilen-website-mobile-typo3-226216/ Mobile Websites mit jQuery Mobile und TYPO3]
 +
** [http://www.elmastudio.de/webdesign/mobile-first-webdesign-hilfreiche-tipps-und-erfahrungswerte/ Mobile-first Webdesign]
 +
** http://www.drweb.de/magazin/responsive-menu-jquery-plugin-minimiert-navigationsmenus-fur-mobile-clients/
 +
 
 +
* '''jquery'''
 +
** [https://de.wikipedia.org/wiki/JQuery_UI JQuery_UI]
 +
** [http://de.slideshare.net/einpraegsam/uery-imtypo3einsatz jquery in typo3 benutzen]
 +
** [http://www.typo34u.de/index.php?id=t3_jquery T3jQuery - jQuery Framework für Extensions]
 +
** [https://code.google.com/p/jquery-datatables-editable/ JQuery DataTables Data Manager] basiert glaube ich auf [http://datatables.net datatables]
 +
 
 +
* '''Datenbank'''
 +
** [http://blog.undkonsorten.com/datenbankrelationen-typo3-irre-extension TYPO3-Tutorial: Extension mit N zu M Datenbankrelationen erstellen]
  
touch typo3conf/ENABLE_INSTALL_TOOL
+
* '''Entwicklung'''
chmod g+rw typo3-dummy/typo3temp/
+
** [http://www.schmutt.de/195/userfunc-tutorial/ userfunc Tutorial] -- Eine “user_func” kann an jeder Stelle im TypoScript verwendet werden, um PHP Code einzubinden.
 +
** [http://www.aoemedia.de/typo3-cms/core-api.html Api core]
 +
** '''''eID'''''
 +
*** [http://www.typo3lexikon.de/typo3-tutorials/eid-und-ajax/eid-beispiele.html eID Beispiele]
 +
** '''''ext_autoload.php'''''
 +
*** [http://blog.recent.ch/typo3-autoloader-verwenden/ TYPO3 Autoloader verwenden] (häufigster Fehler: Schlüsselwert darf kein Großbuchstaben besitzen!!!)
 +
*** [http://wiki.typo3.org/Autoload wiki.typo3.org/Autoload]
 +
** '''''extbase'''''
 +
*** [http://paul-rohrbeck.de/artikel/typo3/typo3-extbase-haeufige-fehler-und-loesungen/ TYPO3, Extbase: Häufige Fehler und Lösungen]
 +
** '''''fluid'''''
 +
*** ViewHelper
 +
**** [http://blog.initos.com/2012/03/22/pdfs-in-typo3-mit-fluid-und-fpdf-erstellen/ PDFs in TYPO3 mit Fluid und FPDF erstellen]
  
  
== Quellen ==
+
* '''weiteres'''
* [https://typo3.org typo3.org]
+
** [http://demo.typo3.org/get-started/ demo typo3 wird permanent reseted]
* [https://de.wikipedia.org/wiki/TYPO3 de.wikipedia.org/wiki/TYPO3]
+
** [http://www.typo3.net/faq/div_aufgaben/content_ausgeben/ Inhalte aus den Spalten LINKS, NORMAL, RECHTS, RAND ausgeben]
* [http://wowa-webdesign.de/typo3-kurs/ Video Tutorial 2012]
+
** [http://www.typo3-snippets.de/ Typo3-Snippets - Nützliche Kleinigkeiten]
 +
** [https://de.wikipedia.org/wiki/FLOW3 Typo3 flow ]

Aktuelle Version vom 22. März 2022, 09:09 Uhr


immer wieder ein Blick wert, gute Übersicht über die neuen Funktionen in den neuen Versionen

TYPO3 LTS 9

TYPO3 LTS 8

TYPO3.CMS ab 7.6

TYPO3.CMS ab 6.2

typo3 4.5

TYPO3 Flow

  • freies PHP Applikation-Framework
  • Fundament für das geplante TYPO3 Neos, lässt sich aber auch unabhängig davon einsetzen
  • Paradigmen
    • MVC
    • Aspektorientierte Programmierung
    • Domain-Driven Design
    • Dependency Injection
    • Testgetriebene Entwicklung
    • Signal-Slot-Konzept


TYPO3 Neos

  • Zukunftmusik: von Grund auf neu entwickelte Fassung
  • Ursprünglich als TYPO3 Version 5.0 geplant
  • System erhält eine grundlegend neue Architektur basierend auf dem Framework TYPO3 Flow


HTTP/HTTPS bzw Multiple Domains Problem

unter Typoconstants:

BASEURL = http://xxx.xxx.coop/
[globalString = ENV:HTTP_HOST=xxx.xxx.coop] 
  BASEURL = http://xxx.netz.coop/
[globalString = ENV:HTTP_HOST=xxx.xxx.coop] AND [globalString =_SERVER|HTTPS=on]
  BASEURL = https://xxx.xxx.coop/
[global]

unter Typoscript:

config.baseURL = {$BASEURL}


nicht einsortiert


Probleme

Backend: Ein Login ist nicht möglich, mensch fliegt immer wieder raus ....

  1. nach einem Domainumzug die Coockie Domain im Install Backend ändern
[SYS][cookieDomain] = .netz.coop

Oops, an error occurred! Code: beim Entwickeln in Typo3 7.6

.htaccess

RewriteCond %{HTTP_HOST} ^dev\.domain\.tld$
RewriteRule .? - [E=TYPO3_CONTEXT:Development]

Fehler

addJsFooterInlineCode führt zu js fehlern: Uncaught SyntaxError: Unexpected identifie

Fehler ist aufgetreten in Kombination mit ext:min und ext:ws_flexslider

addJsFooterInlineCode hat stumpf einfach das letzte symicolon gelöscht, was bei Wiederholung zu natürlichen fehler führte!!!!!

  • falsch
 <prod:pageRenderer.addJsFooterInlineCode name="flexslider-{uid}" >
   console.log('asdfasdf');
 </prod:pageRenderer.addJsFooterInlineCode>


  • richtig:
 <prod:pageRenderer.addJsFooterInlineCode name="flexslider-{uid}" compress="false" >
   console.log('asdfasdf');
 </prod:pageRenderer.addJsFooterInlineCode>

Could not analyse class: Vendor\Extension\Controller\SomeController maybe not loaded or no autoloader?

Oops, an error occurred!
Could not analyse class: Vendor\Extension\Controller\SomeController maybe not loaded or no autoloader?

Beim Namespace noch mal penibel prüfen ob der richtig geschrieben ist .. zb. Camelcase, nach _ großer Buchstabe!!!!!!!


Could not acquire lock for ClassLoader cache creation.

  • nix funzt mehr, FE, BE, Install
typo3temp/locks 

da kann ne lock datei sein, die gelöscht oder verschoben werden musss

Repository->findOneBy/findBy gibt query zurück

  • storageid pid ist nicht gesetzt!!!!!!
  • z.B. im Backend beim Plugin die Datensammlung setzen

Die Validierung des Sicherheitstokens dieses Formulars ist fehlgeschlagen. Bitte laden Sie das Formular erneut und schicken Sie es dann noch einmal ab.

ganz komisch bei manchen post Formularen kommt diese Fehlermeldung und es kann nichts verändert werden. Schuld daran ist apache2filter

siehe zur Kontrolle in phpinfo.php

<?php echo phpinfo(); ?>
Server API 	Apache 2.0 Filter 


dpkg paket libapache2-mod-php5filter muss weg und wird automatisch deinstalliert durch die Installation von libapache2-mod-php5

apt-get install libapache2-mod-php5
a2enmod php5

PHP Fatal error: require(): Failed opening required 'typo3/../vendor/autoload.php' in index.php on line 32

nutze den composer

cd /usr/local/bin

curl -sS https://getcomposer.org/installer | php

cd /var/www/lxc-t3-01.lc/TYPO3.CMS

composer.phar update

Table 'typo362.tx_sfregister_domain_model_staticcountry' doesn't exist More information regarding this error might be available online.

in unserem Fall ins Template auf der die Seite aufgerufen wird

plugin.tx_sfregister.persistence.classes.Tx_Sfregister_Domain_Model_Staticcountry.mapping.tableName = static_countries

unbedingt danach die Caches löschen im zweifel über install ... weil sonst passiert jar nichts

Fatal error: Uncaught exception 'RuntimeException' with message 'Could not acquire lock for ClassLoader cache creation.'

in typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:718 Stack 
  • fehler war weg nach dem löschen der Dateien in typo3temp/locks


PHP Fatal error: Call to undefined method FluidCache_SfRegister_FeuserCreate_partial_FormErrors_ ::section_ () in AbstractTemplateView.php on line 222

Fehler kommt komischer weise nach dem zweiten Seiten reload, also beim ersten mal funzt es ... dann wenn er versucht aus dem Cache den Inhalt zu bekommen, gibts Probleme


Render partial Aufruf hat eine section angegeben, nämlich Main

<f:render partial="FormErrors" section="Main" arguments="{for: 'user'}" />

diese existiert aber im partial gar nicht ...

<f:form.validationResults for="{object}">
.......
</f:form.validationResults>

also muss die section darum

<f:section name="Main">
<f:form.validationResults for="{object}">
.......
</f:form.validationResults>
</f:section>

externe Links