[TYPO3-mvc] adding / multiplying / math operation view helper

Simon Schaufelberger (Schaufi) simonschaufi at jesus.de
Tue Feb 8 00:52:45 CET 2011


Hi,
have a look at:
http://forge.typo3.org/projects/package-viewhelperincubator/repository/revisions/master/show/CalculationViewHelper/_Extension/trunk

and by the way, the for viewhelper has another parameter: iteration 
which might help you. just check the source code ;)

fluid/Classes/ViewHelpers/ForViewHelper.php

Regards, Schaufi

Am 07.02.2011 23:48, schrieb Tim Schoch | GSTALTIG:
> I made myself a little calc ViewHelper. Maybe it helps you. But as always... provided without warranty
>
> <?php
> /*                                                                      *
>   *  COPYRIGHT NOTICE                                                    *
>   *                                                                      *
>   *  (c) 2010 Tim Schoch<tim at gstaltig.ch>                                *
>   *           GSTALTIG GMBH                                              *
>   *           All rights reserved                                        *
>   *                                                                      *
>   *  This script is part of the TYPO3 project. The TYPO3 project is      *
>   *  free software; you can redistribute it and/or modify                *
>   *  it under the terms of the GNU General Public License as published   *
>   *  by the Free Software Foundation; either version 2 of the License,   *
>   *  or (at your option) any later version.                              *
>   *                                                                      *
>   *  The GNU General Public License can be found at                      *
>   *  http://www.gnu.org/copyleft/gpl.html.                               *
>   *                                                                      *
>   *  This script is distributed in the hope that it will be useful,      *
>   *  but WITHOUT ANY WARRANTY; without even the implied warranty of      *
>   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *
>   *  GNU General Public License for more details.                        *
>   *                                                                      *
>   *  This copyright notice MUST APPEAR in all copies of the script!      *
>   *                                                                      */
>
>
>
> /**
>   * calculate strings
>   *
>   * @author     Tim Schoch
>   * @see        http://www.website55.com/php-mysql/2010/04/how-to-calculate-strings-with-php.html
>   * @package    Gstbase
>   * @version    $Id$
>   * @license    GNU Public License, version 2
>   *             http://opensource.org/licenses/gpl-license.php
>   */
> class Tx_Gstbase_ViewHelpers_CalcViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
>
>
>    /**
>    * calculate with strings
>    * eg: "2 + 4 * 6 / 8" will result in 5
>    * @param string the operation
>    * @return float the calculated result
>    */
>    public function render( $value = NULL )
>    {
>      if ( NULL === $value ) {
>        $value = $this->renderChildren();
>      }
>        // trim white spaces
>      $mathString = trim( $value );
>        // remove any non-numbers chars; exception for math operators and 'x'
>      $mathString = preg_replace( '[^0-9\+-\*x\/\(\) ]', '', $mathString );
>        // replace x with *
>      $mathString = str_replace( 'x', '*', $mathString );
>        // compute
>      $compute = create_function("", "return (" . $mathString . ");" );
>      return 0 + $compute();
>    }
>
> }
> ?>


More information about the TYPO3-project-typo3v4mvc mailing list