예제 #1
0
 public function buildFilter()
 {
     $options = [];
     $options['clearSelect'] = true;
     $options['select'][] = \Rebond\Cms\Filter\Data::getList(['id', 'title']);
     $options['where'][] = ['filter.module_id = ?', $this->getModel()->getModuleId()];
     $options['order'][] = 'filter.display_order, filter.title';
     $items = \Rebond\Cms\Filter\Data::loadAll($options);
     return Util\Form::buildDropdownList('filterId' . $this->unique, $items, 'id', 'title', $this->getModel()->getFilterId());
 }
예제 #2
0
 protected static function autoJoin(Util\Data $db, $moduleName, $select = true)
 {
     $module = \Rebond\Cms\Module\Data::loadByTitle($moduleName);
     if (!isset($module)) {
         Util\Error::kill(Util\Error::ITEM_NOT_FOUND, 'module ' . $module . ' not found', __FILE__, __LINE__);
     }
     if ($select) {
         $db->buildQuery('select', \Rebond\Cms\Content\Data::getList());
         $db->buildQuery('select', \Rebond\Cms\Module\Data::getList([], 'content_module'));
         if ($module->getHasFilter()) {
             $db->buildQuery('select', \Rebond\Cms\Filter\Data::getList([], 'content_filter'));
         }
     }
     $db->buildQuery('join', 'cms_content content ON x.app_id = content.app_id');
     $db->buildQuery('join', 'cms_module content_module ON content_module.id = content.module_id');
     if ($module->getHasFilter()) {
         $db->buildQuery('leftJoin', 'cms_filter content_filter ON content_filter.id = content.filter_id');
     }
     $db->buildQuery('where', ['content.module_id = ?', $module->getId()]);
 }
예제 #3
0
 public function buildFilter()
 {
     $options = [];
     $options['clearSelect'] = true;
     $options['select'][] = \Rebond\Cms\Filter\Data::getList(['id', 'title']);
     $models = \Rebond\Cms\Filter\Data::loadAll($options);
     return Util\Form::buildDropdownList('filterId' . $this->unique, $models, 'id', 'title', $this->getModel()->getFilterId(), $this->filterValidator['foreignKey']);
 }