Exemple #1
0
 /**
  * @param $code
  * @return \TAO\Infoblock
  * @throws TAONoInfoblockFileException
  */
 public static function getInfoblock($code)
 {
     if (is_numeric($code)) {
         $code = self::getInfoblockCode($code);
     }
     if (!isset(self::$infoblocks[$code])) {
         $name = \TAO\Infoblock::getClassName($code);
         $e = new $name($code);
         self::$infoblocks[$code] = $e;
         foreach ($e->urls() as $mode => $data) {
             if (isset($data['default']) && isset($data['page'])) {
                 $url = $data['default'];
                 $re = '{^' . str_replace('{id}', '(?<id>\\d+)', $url) . '$}';
                 \TAO\Urls::addDefaultUrl($re, array('infoblock' => $code, 'mode' => $mode, 'default_url' => $url, 'page' => $data['page']));
             }
         }
     }
     return self::$infoblocks[$code];
 }