public function addRules(CreateManipulatorEvent $event)
 {
     if (($rules = RuleModel::findPublishedByActiveTheme()) === null) {
         return;
     }
     // No need to check for null values again as already done by Rule::findPublishedByActiveTheme()
     global $objPage;
     $layout = \LayoutModel::findByPk($objPage->layout);
     // Do not modify anything if the template name is not the one of the current page layout
     // e.g. when a developer calls Template::output() manually
     if ($layout->template !== $event->getTemplateName()) {
         return;
     }
     $factory = $event->getFactory();
     /**
      * @var $ruleModel RuleModel
      */
     foreach ($rules as $ruleModel) {
         $query = new XPathQuery($ruleModel->getXPathExpr());
         $rule = new AttributeRule($query, 'class');
         $rule->addFilter(new CssClassFilter($ruleModel->getDirectives()));
         $rule->addFilter(new TrimWhitespacesFilter());
         $factory->addRule($rule);
     }
 }