for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Alpixel\Bundle\CMSBundle\Twig\Extension;
use Alpixel\Bundle\CMSBundle\Entity\Node;
use Alpixel\Bundle\CMSBundle\Helper\CMSHelper;
class CMSExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface
{
protected $contentTypes;
protected $container;
protected $cmsHelper;
public function __construct(CMSHelper $cmsHelper, $container, $contentTypes = null)
$this->cmsHelper = $cmsHelper;
$this->container = $container;
$this->contentTypes = $contentTypes;
}
public function getName()
return 'cms';
public function getGlobals()
return [
'cms_contentTypes' => $this->contentTypes,
];
public function getFunctions()
new \Twig_SimpleFunction('cms_contentType_get_description', [$this, 'cmsGetDescription']),
new \Twig_SimpleFunction('cms_contentType_get', [$this, 'cmsGet']),
public function cmsGetDescription(Node $node)
$contentType = $this->cmsHelper->getContentTypeFromNodeElementClass($node);
if ($contentType !== null) {
return $contentType['description'];
public function cmsGet(Node $node)
return $this->cmsHelper->getContentTypeFromNodeElementClass($node);