Sie befinden sich hier: [Lösungen] / Typo3 / freefpf

Die TYPO3 Extension freefpf integriert die freie FlashPageFlip Version
von www.flashpageflip.com einfach und unkompliziert. 

Mir gelang dies allerdings nicht in einer (fremden) Installation der TYPO3 Version 4.1.10.

Verantwortlich für diesen Umstand konnte ich die Hook Methode der Extension machen.

function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $object)

Die Prüfung

if(isset($fieldArray['pi_flexform']))

führte immer zu einem 'false'.

Grund war / ist ein immer leeres Array $fieldArray

array ( 'keywords' => '', )

Eine Ursache dafür konnte ich bis jetzt nur vermuten, aber nicht vollständig ermitteln.
Möglich ist, dass in der fremden Umgebung eine Extension, die XCLASS in diesem Bereich verwendet, der Auslöser ist.
Das es mit der Version (4.1.10) zusammenhängt, halte ich für unwahrscheinlich.
Ich habe das aber nicht weiter verfolgt und mir mit folgendem Eingeriff geholfen.

Austausch der Prüfung

if(isset($fieldArray['pi_flexform']))

gegen

if($object->datamap['tt_content'][$id]['list_type']=='freefpf_pi1')

Danach konnte die Extension ohne Einschränkung auch in dieser Umgebung betrieben werden.

Meiner Meinung nach ist diese Prüfung auch genauer, da der Hook bei nahezu jeder Aktion im Backend aufgerufen wird
und eine Verarbeitung natürlich nur erfolgen soll wenn man die Extension abspeichert.

Ein weiteres Problem mit dieser Extension scheint zu bestehen wenn TYPO3 in einem Unterverzeichnis von DOCUMENT_ROOT installiert ist (Siehe auch Kommentare). Eine korrigierte Version diesbezüglich kann hier runter geladen werden. Diese Version beinhaltet auch die oben beschriebene Modifikation.

Downloads

Korrigierte Version der Extension.

Die Angaben sind ohne Gewähr auf Funktionalität. Kein Support !
Feedback, Anregungen, Fehler, Kritik und Verbesserungsvorschläge können per Kommentarfunktion oder Kontakformular eingereicht werden.

29 Kommentare

Seite 1 von 1 1

 
 
#29 Markus schrieb am 25.07.2011 15:31 answer email
Ich hab leider auch ein Problem mit dem Plugin. Es gibt zwar keine Fehlermeldung, aber ich bekomm auch keine Ausgabe im Frontend.
Wie bindet man denn die Flip-Site im Frontend ein? oder macht das das Plugin automatisch?
Markus
 
 
 
 
 
#1 Marko Prekaj schrieb am 12.10.2009 17:51 answer email
Claus,
Re. my mail yesterday concerning freefpf
This is what I found out:(after your proposed changes)
In TYPO3 4.2.3 + YAMl 3.0 (dbttv4) the folder tx-freepfp is creted in uploads. The subfolder instances_xxx is also creted, containing the new selected files for the page flip.
In TYPO3 4.2.8 + YAML 3.1 (dbttv405) the folder tx-freepfp is not created in the uploads folder.
Any idea how to correct this?
Thanks!
 
 
 
 
 
#2 Claus Fassing schrieb am 13.10.2009 07:53 answer email homepage
Not really. Are there entries in the webserver error logfile related the freefpf ext ?
 
Did you clean the cache after the changes ?
 
 
 
 
 
#3 Marko prekaj schrieb am 13.10.2009 10:27 answer email
No error messages in logfiles, cache cleaned
 
 
 
 
 
#4 Claus Fassing schrieb am 13.10.2009 18:42 answer email homepage
Did you made the modification in the 4.2.8 for sure ?
Sound like not, cause the necessary folders aren't created.
 
 
 
 
 
#5 Marko schrieb am 13.10.2009 18:47 answer email
Claus, 100% sure 4.2.8
 
 
 
 
 
#6 Claus Fassing schrieb am 13.10.2009 19:01 answer email homepage
Put the code in the following right after
if($pObj->datamap['tt_content'][$id]['list_type']=='freefpf_pi1')
{
this line.
var_dump($pObj);
Go to the plugin and save the element. Are there output in the backend ?
 
 
 
 
 
#7 Marko schrieb am 13.10.2009 19:29 answer email
Sorry, does not work. Output is still the demo.
Still no folders created.
 
 
 
 
 
#8 Claus Fassing schrieb am 13.10.2009 19:53 answer email homepage
Output in the backend should appear ! This piece of code dump a whole object in the backend.
If nothing appear, put the code right after this
function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $pObj)
{
 
 
 
 
 
#9 Marko schrieb am 13.10.2009 20:07 answer email
Sorry when I was not clear; there is output in the backend! But no directories made in uploads.
 
By the way, where you wrote:
function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $pObj)
{
I have:
 
function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $object)
{
 
and not $pObj)
 
 
 
 
 
#10 Claus Fassing schrieb am 13.10.2009 20:20 answer email homepage
Oh sry. Change the line
if($pObj->datamap['tt_content'][$id]['list_type']=='freefpf_pi1')
into
if($object->datamap['tt_content'][$id]['list_type']=='freefpf_pi1')
 
 
 
 
 
#11 Marko schrieb am 13.10.2009 20:34 answer email
This gives "the old"
 
Could not include file 'typo3conf/ext/freefpf/res/functions.php' or 'C:/XXXX/TYPO3_4.2.3/htdocs/typo3conf/ext/freefpf/res/functions.php'
 
again
 
 
 
 
 
#12 Claus Fassing schrieb am 13.10.2009 20:57 answer email homepage
oO
This is the error you got already before ?
Then you run into any other error which is not related to my issue !
The plugin can't include the typo3conf/ext/freefpf/res/functions.php class for some reason.
Maybe a rights issue, i don't know.
 
 
 
 
 
#13 Marko schrieb am 13.10.2009 21:01 answer email
Yes got this error before.
However, this error message did not show any more after I changed things according to your original solution!
 
 
 
 
 
#14 Claus Fassing schrieb am 13.10.2009 21:12 answer email homepage
Right ! Cause the code who throw this error will never reached ;)
My Example don't matched the origin code.
$object != $pObj
You don't need my modification, you have to figure out which is the problem with the failed include.
 
 
 
 
 
#15 Marko schrieb am 13.10.2009 21:19 answer email
I think here my search will end as I am not a php expert.
Thanks very much for your time Claus, really appreciated your help!!
 
 
 
 
 
#16 Claus Fassing schrieb am 13.10.2009 21:45 answer email homepage
np
I am not a expert on a windows based installation ;) Maybe a permission issue of functions.php
 
 
 
 
 
#17 Marko schrieb am 03.11.2009 11:55 answer email
Just a little update:
This extension works fine in all production environments. Local it did not work with YAML because in the path (e.g. ...../localhost:8502/tvweb405/..) tvweb405 is not set by the script. Here the script braeks.
By making a new instance thru WAMP it works fine locally. Nice and easy to handle extension.
 
 
 
 
 
#18 Michael Singer schrieb am 23.02.2010 10:23 answer email homepage
Has anybody found a working solution for that problem?
I really would like to get this extension to work.
I'm running TYPO3 4.3.1 on a shared server (linux).
the debug output of freefpf in the backend is:
"Could not include file 'typo3conf/ext/freefpf/res/functions.php'"
in the frontend:
Generating iframe only: typo3conf/ext/freefpf/free/Default.html
It always shows just the demo.
 
best regards
michael
 
 
 
 
 
#19 Claus Fassing schrieb am 23.02.2010 10:52 answer email homepage
Have a look at your environment variables (Install Tool -> phpinfo) if TYPO3_DOCUMENT_ROOT and/or DOCUMENT_ROOT is set and point to your install root dir.
 
 
 
 
 
#20 Michael Singer schrieb am 23.02.2010 11:29 answer email homepage
you're right, TYPO3_DOCUMENT_ROOT doesn't point to the install dir, but to the root of my webspace. my TYPO3 installation is installed in an subdirectory.
How do i change the TYPO3_DOCUMENT_ROOT?
thanks for the help.
Michael
 
 
 
 
 
#21 Claus Fassing schrieb am 23.02.2010 13:30 answer email homepage
This is a problem of the extension. I put a patch file on this site. With this you have to patch the class_freefpf_hook.php file. You will find this in typo3conf/ext/freefpf/hooks
 
 
 
 
 
#22 Michael Singer schrieb am 23.02.2010 14:04 answer email homepage
Thank you very much, Claus!
Just one silly question ;)
how do i patch the class_freefpf_hook.php?
copy it to the file? if yes, where exactly?
Michael
 
 
 
 
 
#23 Claus Fassing schrieb am 23.02.2010 14:16 answer email homepage
If you have ssh access, change to the directory where the file class_freefpf_hook.php is located (typo3conf/ext/freefpf/hooks) and call
patch < freefpf_hook_v1.patch
Otherwise change the class file manually. Open the patch and class file, in the class file search for the line which is in the patch file marked with "-"
and remove this with the "+" marked line from the patch file.
 
 
 
 
 
#24 Michael Singer schrieb am 23.02.2010 15:03 answer email homepage
Thank you for the patch and the instructions!
All went well so far, but now it says:
 
"uploads/tx_freefpf (/home/.sites/web/.uploads/tx_freefpf) could not be created!"
 
When i look at this path, it's clear, why it's not working, because the path should be:
 
/home/.sites/web/t3/uploads/tx_freefpf
 
(My install directory is t3/)
 
So seemingly this extension needs even more patches...
 
Michael
 
 
 
 
 
#25 Claus Fassing schrieb am 23.02.2010 15:44 answer email homepage
Yes. Now there is a version available for download which include all (possible i could found) patches.
 
 
 
 
 
#26 Michael Singer schrieb am 23.02.2010 16:08 answer email homepage
Great, thank you, Claus!
But there is still an issue:
the backend debug message is:
"uploads/tx_freefpf (/home/.sites/web/t3/.uploads/tx_freefpf) could not be created!"
 
I think the problem is caused by some code producing that point in the path right before "uploads".
 
Michael
 
 
 
 
 
#27 Claus Fassing schrieb am 23.02.2010 16:13 answer email homepage
Did you realized that i upload a new version in the meanwhile ? Do you work with 201002231557 already ?
Don't forget to check the option override while updating !
 
 
 
 
 
#28 Michael Singer schrieb am 23.02.2010 16:33 answer email homepage
That version now works perfectly!!!
Thank you so much for your efforts!
You made my day, since i really need this extension for a client!
Thanks again!
Best regards,
Michael