[TYPO3-german] Arcavias Dokumentation wird nicht gerendert
Hallo zusammen Der letzte Upload der Arcavias Webshop Erweiterung enthielt Dokumentation im reST-Format, das mit Sphinx in HTML konvertiert werden kann. Lokal hat das auch wunderbar funktioniert, aber im TER wird immer noch angezeigt, dass keine lokale Dokumentation verfügbar ist. Normalerweise sollte die Dokumentation im TYPO3 Wiki importiert und im TER verlinkt werden. Die Extension ist hier zu finden: http://typo3.org/extensions/repository/view/arcavias Weiss jemand, woran das liegen kann, dass beides nicht passiert ist? Vielen Dank Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Tipps, wie man Extensions für TYPO3 4.x und 6.x implementieren kann
Hi Chris Normalerweise Solltest du deine Classen Nicht in ext_autoload eintragen müssen wenn sie dem Typo3 Namenschema entsprechen. Dann findet typo3 sie automatisch. Es kann sein das es einschränkungen beim autoloading für "low-level" entry points gibt. (eID,scheduler) das weiss ich nicht genau. In TYPO3 4.5 werden keine Klassen für die scheduler und die flexform support Klassen gefunden, wenn man sie nicht in ext_autoload.php einträgt (trotz des TYPO3 Namensschemas). Ab 6.x scheint auch das zu funktionieren. Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Tipps, wie man Extensions für TYPO3 4.x und 6.x implementieren kann
Hallo zusammen Letzte Woche haben wir die erste Version der Arcaivas Webshop Extension veröffentlicht, die mit allen TYPO3 Versionen von 4.5 bis 6.1 funktionsfähig war (für die, die es interessiert gibt es hier mehr Infos dazu: http://forum.typo3.org/index.php/t/200655/). Dabei haben wir einige Erfahrungen gesammelt, die wir während des Anpassens und Testens der Extensions gemacht haben und die wir gerne hier teilen möchten. Wenn ihr eure Extension direkt mit Extbase anstatt dem PI-basierenden Ansatz entwickelt habt, dann habt ihr sicher auch die neuen Tx_ Klassen benutzt, die die benötigte Funktionalität wesentlich sauberer kapseln. In TYPO3 6.x wurde das zwar auf Namespaces umgestellt, aber es gibt eine Kompatibilitätsschicht, so dass in den meisten Fällen auch die Tx_ Klassen in 6.x benutzt werden können. Leider haben sich aber einige Implementierungen in 6.x stark geändert und für genau die gibt es dann auch keine Kompatibilitätsschicht. Einer dieser Problemfälle ist die Handhabung von flash messages im Tx_ ActionController bzw. in den neuen Namespace-Variante. Im Tx_Extbase_MVC_Controller_ActionController gibt es eine Eigenschaft flashMessageContainer, die ein Objekt enthält, zu dem man wichtige Nachrichten für den Benutzer hinzufügen kann, z.B. falls ein Fehler aufgetreten ist, der nicht weiter behandelt werden kann: $this->flashMessageContainer->add( ... ); In TYPO3 6.x hat sich die Implementierung der flash message Objekte ziemlich stark geändert und ist nicht mehr kompatibel mit dem $this->flashMessageContainer Objekt weil sich die Methodennamen und die benutzten Objekte im Vergleich zu 4.x stark geändert haben. Eine Kompatibilitätsschicht gibt es dafür nicht, aber für die ganz alte t3lib_ Variante. Anstatt also die schönen neuen Objekte zu benutzen muss man hier auf die "altertümlichen" t3lib Klassen zurück greifen, damit es mit 4.x und 6.x funktioniert: t3lib_FlashMessageQueue::addMessage( new t3lib_FlashMessage( '', 'Error', t3lib_Flashmessage::ERROR ); Die Scheduler Tasks ("Planer" in der deutschen Übersetzung) machen auch Probleme, weil sich das PHP Interface für die "additional field provider" (Klassen um zusätzliche Felder im Task anzeigen und auswerten zu können) geändert hat und auch nicht rückwärtskompatibel ist. In TYPO3 4.x erben die "additional fields provider" nur von tx_scheduler_Task und müssen folgende Methoden implementieren: - public function getAdditionalFields( array &$taskInfo, $task, tx_scheduler_Module $parentObject ) - public function saveAdditionalFields( array $submittedData, tx_scheduler_Task $task ) - public function validateAdditionalFields( array &$submittedData, tx_scheduler_Module $parentObject ) Die Provider in 6.x müssen dagegen das \TYPO3\CMS\Scheduler\AdditionalFieldProviderInterface implementieren, das folgende Methodensignaturen beinhaltet: - public function getAdditionalFields( array &$taskInfo, $task, \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $parentObject ) - public function saveAdditionalFields( array $submittedData, \TYPO3\CMS\Scheduler\Task\AbstractTask $task ) - public function validateAdditionalFields( array &$submittedData, \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $parentObject ) Der Unterschied ist im Typ des letzten Parameters der Methoden. Die übergebenen Objekte sind nicht kompatibel und haben unterschiedliche Methoden und es gibt auch nicht die Möglichkeit, nur die alte Variante zu benutzen. Unsere Lösung dafür war, zwei verschiedene Klassen zu implementieren mit dem jeweils richtigen Interface zu implementieren und den gemeinsamen Code in eine Basisklasse auszulagern, der von den jeweiligen getAdditionalFields(), saveAdditionalFields() und validateAdditionalFields() Methoden benutzt wird. Um die richtige Implementierung für die jeweilige TYPO3 Version bereit zu stellen haben wir eine Art "feature detection" in der ext_localconf.php benutzt (die TYPO3 Version als Weiche zu benutzen schlägt früher oder später immer fehl!): if( class_exists( '\TYPO3\CMS\Scheduler\Task\AbstractTask' ) ) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['Arcavias\Arcavias\Scheduler\Task\Typo6'] = ... } else { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['Tx_Arcavias_Scheduler_Task_Typo4'] = ... } Zu guter letzt sollte man sich vor Augen halten, dass die Namen der Tx_ Klassen in ext_autoload.php immer klein geschrieben werden müssen (das steht auch irgenwo in der Doku). In manchen Fällen funktioniert es auch mit der Orginalschreibweise (also camel-cased), aber nicht für den Schedulerteil. Um die Sache noch etwas komplizierter zu machen betrifft das allerdings nicht die neuen Klassen mit Namespaces in 6.x! Folgendes Beispiel für 4.x und 6.x funktioniert: 'tx_arcavias_scheduler_task_typo4' => $extensionPath . 'Classes/Scheduler/Task/Typo4.php', 'tx_arcavias_scheduler_provider_typo4' => $extensionPath . 'Classes/Scheduler/Prov
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hallo zusammen Die aktualisierte Arcavias TYPO3 Extension ist gerade in Version 0.9.1 veröffentlicht worden: http://typo3.org/extensions/repository/view/arcavias Sie enthält neben einigen Bugfixes die sr_feuser_register Abhängigkeit nicht mehr, so dass man sie jetzt auch ohne Probleme in 6.x installieren kann. Stattdessen ist datamints_feuser als Empfehlung hinzu gekommen und für alle sinnvoll, die einen Kundenlogin für eine Bestellung voraussetzen oder optional anbieten wollen. Feedback ist herzlich willkommen :-) Viele Grüsse Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hallo zusammen was spricht dagegen, die entsprechenden Felder einfach in der Shop-Extension anzulegen? Wie diese Felder dann gefüllt werden (sr_feuser_register, datamints_feuser, andere Extension, eigene Extension, whatever) kann man doch dem Integrator überlassen. Die nächste Version (voraussichtlich übernächste Woche) wird sr_feuser_register und static_info_tables nicht mehr als Voraussetzung haben, sondern nur noch als Empfehlung. Solange man keinen Login für seinen Webshop vorsieht, braucht man die Extensions auch überhaupt nicht. Viele Grüsse Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hi Jost was spricht dagegen, die entsprechenden Felder einfach in der Shop-Extension anzulegen? Wie diese Felder dann gefüllt werden (sr_feuser_register, datamints_feuser, andere Extension, eigene Extension, whatever) kann man doch dem Integrator überlassen. Natürlich sollte im Handbuch ein entsprechender Hinweis stehen, und das Shop-Frontend sollte einen Fehler ausgeben, wenn die verpflichtenden Felder nicht gefüllt sind. Das Ziel war, dass es so einfach wie möglich für potentielle Shopbetreiber ist, die Arcavias Erweiterung zu installieren. Da sr_feuser_register bisher das am häufigsten verwendete Plugin für den Zweck war, erschien uns das die beste Lösung zu sein. Allerdings sieht datamints_feuser richtig gut aus, wenn man die Doku liest und vor allem unterstützt es 6.x! Leider funktioniert der Download des .t3x gerade nicht (Redirect zur Liste aller Extension). Weiss jemand woran das liegt? Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hi Rene dann würde ich es eher aus den Dependecies rausnehmen und maximal recomended nennen so hat man keine Installationsprobleme und kann sich um die Registrierung selber kümmern... Das Problem ist, dass die zusätzlichen Spalten in der fe_users Tabelle gebraucht werden. Sind die nicht vorhanden, fehlen Daten in der Rechnungsadresse und ohne die notwendigen Konfigurationsänderungen würde es eine SQL Fehlermeldung geben. Daher ist sr_feuser_register noch erforderlich, auch wenn die Situation damit gerade etwas unbefriedigend ist :-( Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hi Bernd Ich verstehe auch nicht warum hier gerade sr_feuser_register benötigt wird. Die wenigen Felder die durch die Ext. zu fe_users hinzugefügt werden sollten ja nicht die eigentliche Abhängigkeit ausmachen. zum reinen An-/Abmelden (Login/Logout) gibt es die Systemextension fe_login. weitere Felder kann sich jede Extension selber anhängen. Bleibt gerade mal der (mit double-opt-in/ admin-approval recht komplexe) Vorgang des Registrierens. Dafür gibt es aber auch mehrere Extensions und nicht nur die eine. gerade in letzter Zeit scheinen da mehrere Ext weiterentwickelt zu werden. Da sr_feuser_register ursprünglich für das Zusammenspiel mit tt_products geschrieben wurde, umfasst es natürlich alles, was man für einen Shop in der Hinsicht braucht. Eigene Spalten zur fe_users Tabelle hinzu zu fügen ist nicht schwer, aber da alle anderen Extensions sie nicht kennen füllen sie sie auch nicht. War auch unser erster Ansatz, nur mangelte es dann an der Kompatibilität :-( Letztendlich ist es für Arcaivas aber ziemlich egal, welche Extension(s) man für Registrierung und Double-Opt-in einsetzt, solange die fe_users Tabelle die benötigten Daten enthält (die Spalten können auch ganz anders heissen, sie müssen nur gefüllt werden). Der Rest beschränkt sich dann darauf, angepasste SQL Statements in der Arcavias Konfiguration zu hinterlegen. Das wars dann auch schon. Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hi Rene > Die neuste Version der Arcavias TYPO3 Extension ist jetzt auch im TER > verfügbar. sehr interessant, gleich ein Grund es mal zu testen... in dem Zuge gleich eine Vorab-Frage: ist die Dependency zu sr_feuser_register aufzulösen ??? (denn das schränkt bei aktuellen TYPO3 Versionen doch sehr ein) sr_feuser_register wird benutzt um die Kundendaten zu speichern, so dass sie sich damit auch einloggen können. Dumm nur, dass es diese Extension noch immer nicht für 6.x gibt. Ich hoffe aber inständig, dass spätestens für 6.2 ein Update der Extension bereit steht. Wenn kein Login gebraucht wird kann man auch die Dependency aus der ext_emconf.php und in Resources/Private/Config/classes.php die Konfiguration für den TYPO3 Customer Manager entfernen. Dann wird wieder der Default-Manager benutzt, der die Daten in den mshop_customer* Tabellen hinterlegt. Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Arcavias - Webshop/Katalog(e) mit TYPO3 CMS integration
Hi Siegfried Leider ist die TYPO3 Ext nicht im Ter sondern nur auf deren HP und auf Github. Das hat sich seit heute geändert :-) Die neuste Version der Arcavias TYPO3 Extension ist jetzt auch im TER verfügbar. Sind auf der Suche nach einem Webshop für ein neues Projekt und Magento/Mage+ steht auf der Auswahlliste ganz unten. Wir haben Arcavias bei verschiedenen Kunden im Einsatz, z.B. DAA (shop-owl.daa.de), HIS Jeans (B2B System) oder Tassimo (Backend und Admin-Interface). Eine Webseite für die Vermietung von Ferienhäusern haben wir auch schon damit umgesetzt. Arcavias sieht erst mal gut aus. Als Standalone und in TYPO3 integriert! Die Standalone-Variante ist hauptsächlich als Demo gedacht, aber man könnte sie durchaus auch als eigenständiges System nutzen, wenn man noch einen Login-Mechanismus für das Admin-Interface implementiert. Anscheinend sind deren Snapshots älter weil das aktuelle Demo FE ohne Attributauswahl angezeigt wird. Die Attributauswahl ist jetzt aktiv, allerdings noch nicht auf der Demoseite. Bei 100.000 Produkten mit 500.000 Attributen braucht sie im Moment noch eine Sekunde. Das ist noch viel zu lange und da werden wir in den nächsten Wochen noch optimieren. Das BE muß man erst mal verstehen. Ist nicht so "straight" wie die mir bisher bekannten Webshops und auch das übersichtliche TYPO3 BE. Das Admin-Interface ist stark auf effizientes Arbeiten ausgerichtet und im Moment noch nicht auf leichte Erlernbarkeit. Das kommt durch das Tassimo-Projekt, das starken Einfluss auf den Teil genommen hat. Viele Grüsse Norbert ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german