Версия: 6.x
burger close
Класс PropertyApi
Граф наследования:PropertyApi:
EntityList BaseModel

Открытые члены

 __construct ()
 
 updateParentSort ($from, $to)
 
 getPropertiesAndGroup (array $properties_id)
 
 saveProperties ($obj_id, $link_type, $property_list)
 
 getAllPropertiesAndGroups ($allow_empty_group=false)
 
 setUseStaticCache ($bool)
 
 getGroupProperty ($group_id, $include_parent=true, $public=null)
 
 checkPropertyFiltersExitsInCategoryDir ($dir_id, $brands_in_dir, $prop_filters=[], $base_filters=[])
 
 createOrUpdate (array $item)
 
 getProductProperty ($products, $onlyVisible=false)
 
 sortFunc ($a, $b)
 
 cleanNoActiveFilters (array $filters)
 
 getFilteredQuery (array $filters, $product_table_alias,\RS\Orm\Request $q)
 
 getFilteredProductIds (array $filters)
 
 isFilterActive ()
 
 getCleanFilterUrl ()
 
 cleanUnusedProperty ()
 
 getExistsValues ($property_id, $site_id=null)
 
 filterByAllowedValues ($prop_list, $allowable_values)
 
 convertOldFilterValues ($old_filter_values)
 
 addTranslitAliases ()
 
 getSwitchedOffFilters ($filters, $dir_id=null, $base_filters=false, $bfilters_allowed=null)
 
- Открытые члены унаследованные от EntityList
 __construct (AbstractObject $orm_element, array $options=[])
 
 setDefaultOrder ($order)
 
 getNameField ()
 
 setNameField ($field)
 
 setAliasField ($field)
 
 setSortField ($field)
 
 setIdField ($field)
 
 getIdField ()
 
 getSiteIdField ()
 
 setLoadOnDelete ($bool)
 
 setSiteContext ($site_id=null)
 
 getSiteContext ()
 
 setMultisite ($bool)
 
 isMultisite ()
 
 resetQueryObject ()
 
 getCleanQueryObject ()
 
 queryObj ()
 
 setQueryObj (\RS\Orm\Request $q)
 
 defAlias ()
 
 setFilter ($key, $value=null, $type= '=', $prefix= 'AND', array $options=[])
 
 clearFilter ()
 
 getList ($page=null, $page_size=null, $order=null)
 
 getListAsArray ($page=0, $page_size=0, $order= '')
 
 getListAsResource ($page=0, $page_size=0, $order= '')
 
 getPagedList ($page_size)
 
 loadAssocList ($key_field, $value=null)
 
 getAssocList ($key_field, $value=null)
 
 setOrder ($order=null, array $values=null)
 
 setGroup ($group=null)
 
 getListCount ()
 
 getFirst ()
 
 getOneItem ($id)
 
 getById ($id, $request=null)
 
 getElement ()
 
 setElement ($object)
 
 getElementClass ()
 
 getNewElement ()
 
 save ($id=null, array $user_post=[])
 
 addFilterControl (\RS\Html\Filter\Control $filter_control)
 
 addTableControl (\RS\Html\Table\Control $table_control)
 
 del (array $ids)
 
 multiDelete ($ids)
 
 getSelectList ($first=[])
 
 multieditFormView ($tpl_path, $formfile, array $addparam=[])
 
 multiUpdate (array $data, $ids=[])
 
 moveElement ($from, $to, $flag,\RS\Orm\Request $extra_expr=null)
 
 noWriteRights ($right=DefaultModuleRights::RIGHT_UPDATE)
 
 getIdByAlias ($alias_or_id, $alias_field=null)
 
 saveRequest ($key)
 
 getIdsByRequest (\RS\Orm\Request $request)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Открытые статические члены

static staticSelectList ($first=[])
 
static getListTypeProperty ()
 
static getAllGroups ()
 
- Открытые статические члены унаследованные от EntityList
static getInstance ($key= 'default')
 
static staticSelectList ($first=[])
 
static getSavedRequest ($key, $default=null)
 

Поля данных

const ECLIPSE_FLOAT_COMPARE = 0.00001
 
 $last_filtered_props = []
 
- Поля данных унаследованные от EntityList
const WHERE_CONDITION_VAR = 'where_conditions'
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 

Защищенные члены

 getAvaliableExpr ($pn)
 
 intFilter ($pn, $prop, $value,\RS\Orm\Request $q)
 
 listFilter ($pn, $prop, $value,\RS\Orm\Request $q)
 
 stringFilter ($pn, $prop, $value,\RS\Orm\Request $q)
 
 boolFilter ($pn, $prop, $value,\RS\Orm\Request $q)
 
 addPropertyJoin ($pn, $prop, $q, $type= 'INNER')
 
- Защищенные члены унаследованные от EntityList
 parseArrayFilter ($filters)
 
 filterLike ($key, $value, $type, $prefix, $options)
 
 filterIs ($key, $value, $type, $prefix, $options)
 
 filterFullText ($key, $value, $type, $prefix, $options)
 
 filterIn ($key, $value, $type, $prefix, $options)
 
 filterNotin ($key, $value, $type, $prefix, $options)
 
 filterDefault ($key, $value, $type, $prefix, $options)
 
 setPage ($page, $pageSize)
 
 moveArrayUp ($arr)
 
 moveArrayDown ($arr)
 

Защищенные данные

 $obj_instance
 
 $pta = 'P'
 
 $filter_active
 
 $post_var = 'prop'
 
 $name_field = 'title'
 
 $obj_link = '\Catalog\Model\Orm\Property\Link'
 
 $use_static_cache = true
 
 $prop_item_table
 
 $prop_link_table
 
- Защищенные данные унаследованные от EntityList
 $default_order
 
 $load_on_delete = false
 
 $id_field = 'id'
 
 $alias_field
 
 $sort_field
 
 $name_field
 
 $site_id_field = 'site_id'
 
 $is_multisite = false
 
 $site_context
 
 $def_table_alias = 'A'
 
 $obj
 
 $obj_instance
 
 $filter_active = false
 
 $multiedit_template = '%system%/coreobject/multiedit_form.tpl'
 
 $assocPlainList = []
 
 $parsePrefixes = ['&' => 'AND'
 
 $q
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Дополнительные унаследованные члены

- Статические защищенные данные унаследованные от EntityList
static $instance = []
 

Конструктор(ы)

__construct ( )

Методы

addPropertyJoin (   $pn,
  $prop,
  $q,
  $type = 'INNER' 
)
protected

Добавляет стандартный join к выборке

Аргументы
string$pn- alias join'a
\Catalog\Model\Orm\Property\Item$prop- характеристика
\RS\Orm\Request$q- объект модифицируемого запроса
string$type- тип объединения
Возвращает
addTranslitAliases ( )

Добавляет символьные идентификаторы характеристикам, у которых они не установлены

Возвращает
integer
boolFilter (   $pn,
  $prop,
  $value,
\RS\Orm\Request  $q 
)
protected

Устанавливает фильтр для свойства типа Да/Нет

checkPropertyFiltersExitsInCategoryDir (   $dir_id,
  $brands_in_dir,
  $prop_filters = [],
  $base_filters = [] 
)

Проверяет принадлежат ли переданные фильтры категории

Аргументы
integer$dir_id- id категории в которой проверять
array$brands_in_dir- массив брендов принадлежащих категории
array$prop_filters- идентификаторы фильтров характеристику
array$base_filters- идентификаторы фильтров
Возвращает
boolean
cleanNoActiveFilters ( array  $filters)

Исключает из массива не заданные фильтры

Аргументы
array$filters
Возвращает
array
cleanUnusedProperty ( )

Удаляет характеристики из системы, которые не связаны с товарами или категориями товаров текущего сайта

Возвращает
bool
convertOldFilterValues (   $old_filter_values)

Конвертирует старые значения параметров фильтра (f) в новые. В предыдущих версиях RS, в фильтр передавались значения списковых характеристик, в новых - ID этих значений

Аргументы
array$old_filter_values- старые значения характеристик
Возвращает
array
createOrUpdate ( array  $item)

Создает или обновляет характеристику

Аргументы
array$item
Возвращает
array|bool
filterByAllowedValues (   $prop_list,
  $allowable_values 
)

Загружает в список характеристик список возможных значений

Аргументы
array$prop_list
array$allowable_values
Возвращает
array
static getAllGroups ( )
static
getAllPropertiesAndGroups (   $allow_empty_group = false)

Возвращает характеристики возможные вместе с группами в виде массива с ключами group и properties

Аргументы
boolean$allow_empty_group- выводить ли группы с отсутвующими характеристиками внутри
Возвращает
array
getAvaliableExpr (   $pn)
protected

Добавляет в запрос

Аргументы
string$pn- наименование характеристики в БД
Возвращает
string|null
getCleanFilterUrl ( )

Возвращает URL для админ панели с очищенным фильтром

Возвращает
string
getExistsValues (   $property_id,
  $site_id = null 
)

Возвращает все имеющиеся у товаров значения данного свойства

Аргументы
integer$property_id- ID свойства
integer$site_id- ID сайта
Возвращает
array
getFilteredProductIds ( array  $filters)

Возвращает id товаров, удовлетворяющих установленым фильтрам.

Аргументы
array$filters- массив с установленными фильтрами.
Возвращает
array
getFilteredQuery ( array  $filters,
  $product_table_alias,
\RS\Orm\Request  $q 
)

Возвращает объект $q, в котором выставлены условия для фильтрации

Аргументы
array$filters- массив с установленными фильтрами
string$product_table_alias- alias таблицы с товарами, установленный в $q
Возвращает
getGroupProperty (   $group_id,
  $include_parent = true,
  $public = null 
)

Возвращает характеристики, привязанные к категории товаров

Аргументы
integer | array$group_id- id или массив с id категорий товаров, у которых запрашиваем свойства
true | false$include_parent- true - будут в результат включатся ещё и унаследованные свойства от родительских категорий. По умолчанию true.
null | integer$public- null - не учитывать публичное это свойство или нет. integer - значение поля public свойства. По умолчанию null.
Возвращает
mixed
static getListTypeProperty ( )
static

Возвращает полный список списковых характеристик

Возвращает
array
getProductProperty (   $products,
  $onlyVisible = false 
)

Загружает характеристики для списка товаров, с учетом характеристик, установленных у категорий

Аргументы
array  |  Orm\Product$products
bool$onlyVisible- если true, вернёт только видимые не пустые характеристики
Возвращает
array
getPropertiesAndGroup ( array  $properties_id)

Получает сведения о характеристиках и группах в которых они состоят в виде массива. Параметром передаются массив с id-шниками характеристик

Аргументы
array$properties_id- массив id-шников характеристик, для которых нужно получить сведения
Возвращает
array
getSwitchedOffFilters (   $filters,
  $dir_id = null,
  $base_filters = false,
  $bfilters_allowed = null 
)

Зависимые фильтры. Возвращает массив выключенных фильтров

Аргументы
$filters- фильтры примененные к категории
null$dir_id- id категории
bool$base_filters
null$bfilters_allowed
Возвращает
array - массив фильтров которые нужно выключить

TODO: Улучшение. Написать yield генератор для fetchAll в Result

intFilter (   $pn,
  $prop,
  $value,
\RS\Orm\Request  $q 
)
protected

Устанавливает фильтр для числового свойства

Аргументы
string$pn- наименование характеристики в БД
\Catalog\Model\Orm\Property\Item$prop- характеристика
string$value- значение
\RS\Orm\Request$q- объект запроса
isFilterActive ( )
listFilter (   $pn,
  $prop,
  $value,
\RS\Orm\Request  $q 
)
protected

Устанавливает фильтр для спискового свойства

saveProperties (   $obj_id,
  $link_type,
  $property_list 
)

Полностью обрабатывает POST со свойствами

Аргументы
int$obj_id- id объекта
string$link_type- тип сущности (group|product)
array$property_list- характеристики
Возвращает
void
setUseStaticCache (   $bool)

Устанавливает, использовать ли статическое кэширование при вызове других методов данного API

Аргументы
mixed$bool
sortFunc (   $a,
  $b 
)

Сравнивает 2 элемента с сортировочным индексом sortn

Аргументы
array$a
array$b
Возвращает
integer
static staticSelectList (   $first = [])
static

Возвращает статическим методом полный список значений характеристик

Аргументы
string[]$first - значения, которые нужно добавить в начало списка
Возвращает
string[]
stringFilter (   $pn,
  $prop,
  $value,
\RS\Orm\Request  $q 
)
protected

Устанавливает фильтр для строкового свойства

updateParentSort (   $from,
  $to 
)

Обновляет parent_sortn у всех характеристик группы dir_id

Поля

$filter_active
protected
$last_filtered_props = []
$name_field = 'title'
protected
$obj_instance
protected
$obj_link = '\Catalog\Model\Orm\Property\Link'
protected
$post_var = 'prop'
protected
$prop_item_table
protected
$prop_link_table
protected
$pta = 'P'
protected
$use_static_cache = true
protected
const ECLIPSE_FLOAT_COMPARE = 0.00001