Пример #1
0
 static function add_component($name, $mapper, $layout = 'work')
 {
     self::$component_original_names[strtolower($name)] = $name;
     self::$component_names[strtolower($name)] = "Component_{$name}";
     self::$component_module_prefix[strtolower($name)] = "Component.{$name}";
     self::$component_names[$name] = "Component_{$name}";
     if (is_string($mapper)) {
         $mapper = Core::make($mapper);
     }
     if (self::$enable_rest && ($mapper instanceof WS_Services_REST_Application || is_array($mapper))) {
         $app = is_array($mapper) ? $mapper : array();
         if (is_string($mapper)) {
             $app['class'] = $mapper;
         }
         if (is_object($mapper)) {
             $app['instance'] = $mapper;
             $mapper->name = $name;
         }
         if (!isset($app['prefix'])) {
             $app['prefix'] = Core_Strings::downcase($name);
         }
         self::$dispatcher->map($name, $app);
     } else {
         self::$mappers[$name] = $mapper;
     }
     self::$layouts[$name] = $layout;
     $dir = self::component_dir($name);
     Text_Insertions::filter()->add_views_paths(array($dir . '/app/views', $dir . '/views'));
     Events::call('cms.add_component', $name, $mapper, $layout);
 }
Пример #2
0
 protected function setup()
 {
     $dir = $this->dir();
     Text_Insertions::filter()->add_views_paths(array($dir . '/app/views', $dir . '/views'));
 }
Пример #3
0
 protected function filter_custom($content)
 {
     return Text_Insertions::filter()->process($content, array('layout' => $this));
 }