[TYPO3-commerce] RFC Feature: #28959: New hook in tx_commerce_pibase::makeBasketView()

Torben Hansen - Skyfillers T.Hansen at skyfillers.com
Thu Aug 18 15:05:48 CEST 2011


+1 by reading and testing.

Best regards
Torben


> -----Ursprüngliche Nachricht-----
> Von: typo3-team-commerce-bounces at lists.typo3.org [mailto:typo3-team-
> commerce-bounces at lists.typo3.org] Im Auftrag von Ingo Schmitt
> Gesendet: Donnerstag, 18. August 2011 14:14
> An: TYPO3 commerce development team
> Betreff: Re: [TYPO3-commerce] RFC Feature: #28959: New hook in
> tx_commerce_pibase::makeBasketView()
> 
> Hi,
> 
> fine by reading. However I don't have any working shop (including basket and
> checkout) to test it. Anyone?
> 
> Ingo
> 
> > Hi!
> >
> > Michael Knabe schrieb am 08/18/2011 01:03 PM Uhr:
> >> Am 17.08.2011 15:39, schrieb Michael Knabe:
> >>> Hi Marcus,
> >>>
> >>>> Notes:
> >>>> Due to the amount of arguments, they have been bundled in a
> >>>> parameter array (inspired by t3lib_PageRenderer hooks).
> >>> I don't like the idea of putting the parameters into an array. On
> >>> one hand it hides a problem (I consider requiring so many parameters
> >>> a design problem) instead of solving it. It's not on you to fix the
> >>> design flaw here but at least you shouldn't try to hide it.
> >>> On the other hand it precludes the usage of type hinting which is
> >>> especially important if you have many parameters (the more
> >>> parameters you have the harder it is to remember the correct order).
> >>
> >> I discussed this point with Marcus face to face and we came to no
> >> real conclusion on which solutions is nicer. To bring about a
> >> decision we had a foosball-match and he won. So I leave the choice on
> >> him (if no one else has any objections).
> >>
> >> However my other points are still valid.
> >
> > Although I've won - *YES* - I reconsidered my patch based on Florian's
> > notes:
> >
> > v1
> > * basketObj will not passed by reference
> > * each values is passes a single method parameter (no use of array)
> > * added hook desciption
> >
> >
> > Marcus.
> > Index: doc/hooks.html
> >
> =============================================================
> ======
> > --- doc/hooks.html	(Revision 51189)
> > +++ doc/hooks.html	(Arbeitskopie)
> > @@ -108,6 +108,7 @@
> > 	<div class="functionindex">function renderProductsForList</div>
> > 	<div class="functionindex">function renderProduct</div>
> > 	<div class="functionindex">function getArticleMarker</div>
> > +	<div class="functionindex">function makeBasketView</div>
> > <a href="#tx_commerce_product">
> > <div class="classindex">class tx_commerce_product</div> </a> @@ -390,6
> > +391,11 @@
> > 					Result: $taxRateTemplate <br />
> >   possibility to regenerates taxrates and $taxRateTemplate in order to
> recalculate
> >   taxes.</div>
> > +			<div class="functionname">function
> makeBasketView</div>
> > +				<div
> class="hookname">GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib
> /class.tx_commerce_pibase.php']['makeBasketView']</div>
> > +				<div class="description">Call:
> postBasketView($content, $articletypes, $lineTemplate, $template, $basketObj,
> $this)<br/>
> > +				Type: Multiple <br/>
> > +				Result: string - Basket View HTML
> code</div>
> >
> > 	                <div
> class="filename">lib/class.tx_commerce_product.php</div>
> > 		<a name="tx_commerce_product"/>
> > Index: lib/class.tx_commerce_pibase.php
> >
> =============================================================
> ======
> > --- lib/class.tx_commerce_pibase.php	(Revision 51189)
> > +++ lib/class.tx_commerce_pibase.php	(Arbeitskopie)
> > @@ -797,7 +797,12 @@
> > 	 	$content='';
> > 	 	$template = $this->cObj->getSubpart($this->templateCode,
> > $subpartMarker);
> >
> > -
> > +	 	$hookObjectsArr = array();
> > +		if (is_array
> ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commer
> ce_pibase.php']['makeBasketView'])) {
> > +			foreach
> ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['commerce/lib/class.tx_commer
> ce_pibase.php']['makeBasketView'] as $classRef) {
> > +				$hookObjectsArr[] =
> &t3lib_div::getUserObj($classRef);
> > +			}
> > +		}
> >
> > 		if(!is_array($lineTemplate)) {
> > 			$temp = $lineTemplate;
> > @@ -855,6 +860,12 @@
> > 			$content = $this->cObj-
> >substituteSubpart($template,'###LISTING_ARTICLE###','');
> > 		}
> >
> > +		foreach($hookObjectsArr as $hookObj) {
> > +			if (method_exists($hookObj, 'postBasketView')) {
> > +				$content =  $hookObj-
> >postBasketView($content, $articletypes, $lineTemplate, $template,
> $basketObj, $this);
> > +			}
> > +		}
> > +
> > 	 	$content = $this->cObj->substituteSubpart(
> > 	 			$content,
> > 	 			'###LISTING_BASKET_WEB###',
> > _______________________________________________
> > TYPO3-team-commerce mailing list
> > TYPO3-team-commerce at lists.typo3.org
> > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-team-commerce
> 
> 
> Mit freundlichen Gruessen
> Ingo Schmitt
> 
> --
> Marketing Factory Consulting GmbH  *   mailto:is at marketing-factory.de
> Marienstrasse 14                   *          Tel.: +49 211-361176-63
> D-40212 Duesseldorf, Germany       *          Fax:  +49 211-361176-64
> Amtsgericht Duesseldorf HRB 53971  * http://www.marketing-factory.de/
> 
> Geschaeftsfuehrer:    Peter Faisst   |   Katja Faisst
> Karoline Steinfatt   |   Christoph Allefeld   |   Markus M. Kimmel
> 
> _______________________________________________
> TYPO3-team-commerce mailing list
> TYPO3-team-commerce at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-team-commerce


More information about the TYPO3-team-commerce mailing list