[TYPO3-commerce] Download of PDF in singleview
rainer schleevoigt
rainer at webmasterei-hamburg.de
Wed Sep 30 13:07:36 CEST 2009
Hi,
now I found:
the right name ist ext_localconf.php (and not localconf.php)
My hookclass is embedding, because outside the class an
error_log('TEST') works fine.
But the methodes in the class are not calling. I think the problem is
the syntax of hookname.
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_pibase.php']['singleview'][]
= $hookname;
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_product.php']['postinit'][]
= $hookname;
The name of my extension is 'ras_lupobello'.
The filename of class is 'hookclass.php' and the classname is
'ext_lupohook'.
So I think
'$hookname='EXT:ras_lupobello/hookclass.php:ext_lupohook';' is the right
hookname, but the methods are not calling.
Here is the full code of hookclass.php:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<?php
error_log('HOOKCALLING');
class ext_lupohook {
public function postInit(&$model) {
error_log('INIT');
$model->add_fields_to_fieldlist(array('tx_raslupobello_pdf'));
}
public function additionalMarker($markerArray,$singleViewPlugin) {
error_log('MARKER');
$markerArray['###PDF###'] =
$singleViewPlugin->product->getField('tx_raslupobello_pdf');
return $markerArray;
}
}
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Hi Morten,
>
> I have changed my localconf.php and I see that this file is not called,
> because this snippet is in it:
> ~~~~~~~~~~~~~~~~~~
> error_log('LOCAL_TEST__CONF'); // this string doesnt appear in error-log
>
> $lupohook='EXT:ras_lupobello/hookclass.php:ext_lupohook';
> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_pibase.php']['singleview'][]
> = $lupohook;
> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_product.php']['postinit'][]
> = $lupohook;
> ~~~~~~~~~~~~~~~~~~
>
> Here is the content of hookclass.php:
> ~~~~~~~~~~~~~~~~~~
> class ext_lupohook {
> function postInit(&$model) {
> error_log('INIT');
> $model->add_fields_to_fieldlist(array('tx_raslupobello_pdf'));
> }
>
> function additionalMarker($markerArray,$singleViewPlugin) {
> error_log('MARKER');
> $markerArray['###PDF###'] =
> $singleViewPlugin->product->getField('tx_raslupobello_pdf');
> return $markerArray;
> }
> }
> ~~~~~~~~~~~~~~~~~~
>
> Di you have an idea why the localconf.php ist not calling?
>
>
> Rainer
>
>
>
>
>
>
> Olesen schrieb:
>> Hi Rainer,
>>
>>
>> You are on the right track - the hooks should be initialized in
>> localconf.php of your extension - rather than include it your self you
>> can left commerce do it. This way the class will only be loaded when
>> it's needed
>>
>>
>> example localconf.php - assuming your extension dir is named
>> raslupobello :
>>
>> <?php
>> if (!defined ('TYPO3_MODE')) die ('Access denied.');
>> $lupohook='EXT:raslupobello/hookclass.php:user_lupohook';
>> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_pibase.php']['singleview'][]=$lupohook;
>>
>> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_product.php']['postinit'][]=$lupohook;
>>
>>
>> ?>
>>
>> After this change ( and indeed any change to localconf.php ) you will
>> need to clear the cache to allow typo3 to rebuild it's combined config
>> file.
>>
>>
>> if this still doesn't work for you then the problem lies else where.
>>
>> /Morten
>>
>> rainer schleevoigt wrote:
>>> Hi,
>>>
>>> in my template file I have inserted ###PDF###.
>>>
>>> I created a extension width the new field 'tx_raslupobello_pdf' in
>>> tx_commerce_products. The client can upload pdf.
>>>
>>> Now comes my problem in FE:
>>>
>>> In this extension I created a file with the content:
>>>
>>> =================
>>> class user_lupohook {
>>> function postInit(&$model) {
>>>
>>> $model->add_fields_to_fieldlist(array('tx_raslupobello_pdf'));
>>> }
>>> function additionalMarker($markerArray,$singleViewPlugin) {
>>> $markerArray['###PDF###'] =
>>> $singleViewPlugin->product->getField('tx_raslupobello_pdf');
>>> return $markerArray;
>>> }
>>> }
>>> =================
>>>
>>> Inserting of
>>>
>>> require_once(t3lib_extMgm::extPath($_EXTKEY).'hookclass.php');
>>> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_pibase.php']['singleview'][]
>>> = 'user_lupohook';
>>> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commerce_product.php']['postinit'][]
>>> = 'user_lupohook';
>>>
>>> in localconf.php doesnt work.
>>>
>>> It works after clearing of cache one time, if I place the code in
>>> ext_tables.php. After reloading of FE-page the marker doesnt replace.
>>>
>>> Any ideas?
>>>
>>>
>>> Rainer
More information about the TYPO3-project-commerce
mailing list