/** * @param SeoPageInterface $seoPage * @param ProductInterface $product */ public function alterPage(SeoPageInterface $seoPage, ProductInterface $product) { $this->registerHeaders($seoPage); $seoPage->addMeta('property', 'og:type', 'og:product')->addMeta('property', 'og:title', $product->getName())->addMeta('property', 'og:description', $product->getDescription())->addMeta('property', 'og:url', $this->router->generate('sonata_product_view', array('slug' => $product->getSlug(), 'productId' => $product->getId()), true))->addMeta('property', 'product:price:amount', $this->numberHelper->formatDecimal($product->getPrice()))->addMeta('property', 'product:price:currency', $this->currencyDetector->getCurrency()); // If a media is available, we add the opengraph image data if ($image = $product->getImage()) { $this->addImageInfo($image, $seoPage); } }
public function testArguments() { $localeDetector = $this->createLocaleDetectorMock(); $helper = new NumberHelper('UTF-8', $localeDetector, array('fraction_digits' => 2), array('negative_prefix' => 'MINUS')); // Check that the 'default' options are used $this->assertEquals('1,34', $helper->formatDecimal(1.337)); $this->assertEquals('MINUS1,34', $helper->formatDecimal(-1.337)); // Check that the options are overwritten $this->assertEquals('1,337', $helper->formatDecimal(1.337, array('fraction_digits' => 3))); $this->assertEquals('MIN1,34', $helper->formatDecimal(-1.337, array(), array('negative_prefix' => 'MIN'))); }
public function testArguments() { $localeDetector = $this->getMock('Sonata\\IntlBundle\\Locale\\LocaleDetectorInterface'); $localeDetector->expects($this->any())->method('getLocale')->will($this->returnValue('fr')); $helper = new NumberHelper('UTF-8', $localeDetector, array('fraction_digits' => 2), array('negative_prefix' => 'MINUS')); // Check that the 'default' options are used $this->assertEquals('1,34', $helper->formatDecimal(1.337)); $this->assertEquals('MINUS1,34', $helper->formatDecimal(-1.337)); // Check that the options are overwritten $this->assertEquals('1,337', $helper->formatDecimal(1.337, array('fraction_digits' => 3))); $this->assertEquals('MIN1,34', $helper->formatDecimal(-1.337, array(), array('negative_prefix' => 'MIN'))); // Check that exception are thrown on non-existing class constant $exceptionThrown = false; try { $helper->formatDecimal(1.337, array('non_existant' => 3)); } catch (\InvalidArgumentException $e) { $exceptionThrown = true; } $this->assertTrue($exceptionThrown); $exceptionThrown = false; try { $helper->formatDecimal(1.337, array(), array('non_existant' => 'MIN')); } catch (\InvalidArgumentException $e) { $exceptionThrown = true; } $this->assertTrue($exceptionThrown); }
/** * @param float $number * @param array $attributes * @param array $textAttributes * @param null $locale * * @return string */ public function formatDecimal($number, array $attributes = array(), array $textAttributes = array(), $locale = null) { return $this->helper->formatDecimal($number, $attributes, $textAttributes, $locale); }