Common\Core\Twig\Extensions\TwigFilters::getFilters PHP Метод

getFilters() публичный статический Метод

http://twig.sensiolabs.org/doc/advanced.html#id2 returns a collection of Twig SimpleFilters
public static getFilters ( Twig_Environment &$twig, string $app ) : array
$twig Twig_Environment
$app string
Результат array
    public static function getFilters(&$twig, $app)
    {
        $app = $app . '\\Core\\Engine\\TemplateModifiers';
        $twig->addFilter(new Twig_SimpleFilter('getpageinfo', $app . '::getPageInfo'));
        $twig->addFilter(new Twig_SimpleFilter('highlight', $app . '::highlightCode'));
        $twig->addFilter(new Twig_SimpleFilter('profilesetting', $app . '::profileSetting'));
        $twig->addFilter(new Twig_SimpleFilter('formatcurrency', $app . '::formatCurrency', ['is_safe' => ['html']]));
        $twig->addFilter(new Twig_SimpleFilter('usersetting', $app . '::userSetting'));
        $twig->addFilter(new Twig_SimpleFilter('uppercase', $app . '::uppercase'));
        $twig->addFilter(new Twig_SimpleFilter('rand', $app . '::random'));
        $twig->addFilter(new Twig_SimpleFilter('formatfloat', $app . '::formatFloat'));
        $twig->addFilter(new Twig_SimpleFilter('truncate', $app . '::truncate'));
        $twig->addFilter(new Twig_SimpleFilter('camelcase', $app . '::camelCase'));
        $twig->addFilter(new Twig_SimpleFilter('snakeCase', $app . '::snakeCase'));
        $twig->addFilter(new Twig_SimpleFilter('stripnewlines', $app . '::stripNewlines'));
        $twig->addFilter(new Twig_SimpleFilter('formatnumber', $app . '::formatNumber'));
        $twig->addFilter(new Twig_SimpleFilter('tolabel', $app . '::toLabel'));
        $twig->addFilter(new Twig_SimpleFilter('cleanupplaintext', $app . '::cleanupPlainText'));
        // exposed PHP functions
        $twig->addFilter(new Twig_SimpleFilter('urlencode', 'urlencode'));
        $twig->addFilter(new Twig_SimpleFilter('rawurlencode', 'rawurlencode'));
        $twig->addFilter(new Twig_SimpleFilter('striptags', 'strip_tags'));
        $twig->addFilter(new Twig_SimpleFilter('addslashes', 'addslashes'));
        $twig->addFilter(new Twig_SimpleFilter('count', 'count'));
        $twig->addFilter(new Twig_SimpleFilter('is_array', 'is_array'));
        $twig->addFilter(new Twig_SimpleFilter('sprintf', array(__CLASS__, 'deprecatedSprintf'), array('is_safe' => array('html'))));
        $twig->addFilter(new Twig_SimpleFilter('ucfirst', 'ucfirst'));
        // Functions navigation
        $twig->addFunction(new Twig_SimpleFunction('getnavigation', $app . '::getNavigation', array('is_safe' => array('html'))));
        $twig->addFunction(new Twig_SimpleFunction('getsubnavigation', $app . '::getSubNavigation', array('is_safe' => array('html'))));
        $twig->addFunction(new Twig_SimpleFunction('parsewidget', $app . '::parseWidget', array('is_safe' => array('html'))));
        // Function URL
        $twig->addFunction(new Twig_SimpleFunction('geturl', $app . '::getURL'));
        $twig->addFunction(new Twig_SimpleFunction('geturlforextraid', $app . '::getURLForExtraId'));
        $twig->addFunction(new Twig_SimpleFunction('geturlforblock', $app . '::getURLForBlock'));
        // boolean functions
        $twig->addFunction(new Twig_SimpleFunction('showbool', $app . '::showBool', array('is_safe' => array('html'))));
        // Deprecated functions
        $twig->addFilter(new Twig_SimpleFilter('spoondate', $app . '::spoonDate'));
        $twig->addFilter(new Twig_SimpleFilter('formatdate', $app . '::formatDate'));
        $twig->addFilter(new Twig_SimpleFilter('formattime', $app . '::formatTime'));
        $twig->addFilter(new Twig_SimpleFilter('timeago', $app . '::timeAgo'));
        $twig->addFilter(new Twig_SimpleFilter('formatdatetime', $app . '::formatDateTime'));
    }

Usage Example

Пример #1
0
 /**
  * Fetch the parsed content from this template.
  *
  * @param string $template The location of the template file, used to display this template.
  *
  * @return string The actual parsed content after executing this template.
  */
 public function getContent($template)
 {
     $this->parseConstants();
     $this->parseAuthentication();
     $this->parseAuthenticatedUser();
     $this->parseDebug();
     $this->parseLabels();
     $this->parseLocale();
     $this->parseVars();
     $template = str_replace(BACKEND_MODULES_PATH, '', $template);
     // path to TwigBridge library so we can locate the form theme files.
     $appVariableReflection = new ReflectionClass(AppVariable::class);
     $vendorTwigBridgeDir = dirname($appVariableReflection->getFileName());
     // render the compiled File
     $loader = new Twig_Loader_Filesystem(array(BACKEND_MODULES_PATH, BACKEND_CORE_PATH, $vendorTwigBridgeDir . '/Resources/views/Form'));
     $twig = new Twig_Environment($loader, array('cache' => Model::getContainer()->getParameter('kernel.cache_dir') . '/twig', 'debug' => $this->debugMode));
     // connect symphony forms
     $formEngine = new TwigRendererEngine(array('Layout/Templates/FormLayout.html.twig'));
     $formEngine->setEnvironment($twig);
     $twig->addExtension(new SymfonyFormExtension(new TwigRenderer($formEngine, Model::get('security.csrf.token_manager'))));
     $twigTranslationExtensionClass = Model::getContainer()->getParameter('twig.extension.trans.class');
     $twig->addExtension(new $twigTranslationExtensionClass(Model::get('translator')));
     // debug options
     if ($this->debugMode === true) {
         $twig->addExtension(new Twig_Extension_Debug());
     }
     if (count($this->forms) > 0) {
         foreach ($this->forms as $form) {
             $twig->addGlobal('form_' . $form->getName(), $form);
         }
     }
     // should always be included, makes it possible to parse SpoonForm in twig
     new FormExtension($twig);
     // start the filters / globals
     TwigFilters::getFilters($twig, 'Backend');
     $this->startGlobals($twig);
     return $twig->render($template, $this->variables);
 }
All Usage Examples Of Common\Core\Twig\Extensions\TwigFilters::getFilters