Models_OpFieldsProduct

Описание

Модель: OpFieldsProduct


Класс Models_OpFieldsProduct реализует логику взаимодействия с дополнительными полями товаров.

Методы класса
array|string get() Позволяет получить дополнительные поля прикрепленные к товару
// выборка всех данных
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$data $opFieldsM->get();
viewData($data);

// выборка конкретного поля
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$fieldId 1;
$data $opFieldsM->get($fieldId);
viewData($data);

// выборка значения поля и названия
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$fieldId 1;
$name $opFieldsM->get($fieldId'name');
$value $opFieldsM->get($fieldId'value');
viewData($name);
viewData($value);

// выборка вариантов
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$fieldId 1;
$variants $opFieldsM->get($fieldId'variant');
viewData($variants);

// по аналогии можно достать любой интересующий эллемент массива
void fill() Заполняет значения дополнительных полей переданным массивом данных
// заполнение одного поля
$data = array(
    
'id' => 1,
    
'value' => 'test',
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();

// заполнение одного поля с вариантами
$data = array(
    
'id' => 1,
    
'variant' => array(
        array(
            
'id' => 1,
            
'value' => 'test'
        
),
        array(
            
'id' => 2,
            
'value' => 'test2'
        
)
    )
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();

// сохранение нескольких полей одновременно
$data = array(
    array(
        
'id' => 1,
        
'value' => 'test',
    ),
    array(
        
'id' => 2,
        
'value' => 'test2',
    ),
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();
void save() Сохраняет текущее состояние объекта в базу данных, обычно используется после метода fill для фиксации изменений
// заполнение одного поля
$data = array(
    
'id' => 1,
    
'value' => 'test',
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();
array getFields() Получает список доступных дополнительных полей
$data Models_OpFieldsProduct::getFields();
viewData($data);
void saveFields() Метод для редактирования доступных дополнительных полей
Принимает список полей, которые нужно сохранить, если существующие поля не были указаны, то они будут удалены
$data = array(
    Array(
        
'id' => 7,        // идентификатор поля
        
'name' => 'test'// название поля
        
'isPrice' => 0,   // добавляет возможность создания оптовой цены из этого поля
        
'sort' => 0,      // порядок сортировки
    
),
    
// далее аналогично
    
Array(
        
'id' => 8,
        
'name' => 'test2',
        
'isPrice' => 1,
        
'sort' => 1,
    ),
    Array(
        
'id' => 9,
        
'name' => 'test3',
        
'isPrice' => 0,
        
'sort' => 2,
    )
);
Models_OpFieldsProduct::saveFields($data);
Описание методов и примеры их использования

Метод

array|string get ()

Параметры

  • void|string|int - опциональные параметры метода, указываеться вложенность в массиве через запятую, для получения нужного значения

Описание

Позволяет получить дополнительные поля прикрепленные к товару

// выборка всех данных
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$data $opFieldsM->get();
viewData($data);

// выборка конкретного поля
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$fieldId 1;
$data $opFieldsM->get($fieldId);
viewData($data);

// выборка значения поля и названия
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$fieldId 1;
$name $opFieldsM->get($fieldId'name');
$value $opFieldsM->get($fieldId'value');
viewData($name);
viewData($value);

// выборка вариантов
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$fieldId 1;
$variants $opFieldsM->get($fieldId'variant');
viewData($variants);

// по аналогии можно достать любой интересующий эллемент массива

Метод

void fill ($data)

Параметры

  • $data: array - массив данных

Описание

Заполняет значения дополнительных полей переданным массивом данных

// заполнение одного поля
$data = array(
    
'id' => 1,
    
'value' => 'test',
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();

// заполнение одного поля с вариантами
$data = array(
    
'id' => 1,
    
'variant' => array(
        array(
            
'id' => 1,
            
'value' => 'test'
        
),
        array(
            
'id' => 2,
            
'value' => 'test2'
        
)
    )
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();

// сохранение нескольких полей одновременно
$data = array(
    array(
        
'id' => 1,
        
'value' => 'test',
    ),
    array(
        
'id' => 2,
        
'value' => 'test2',
    ),
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();

Метод

void save ()

Описание

Сохраняет текущее состояние объекта в базу данных, обычно используется после метода fill для фиксации изменений

// заполнение одного поля
$data = array(
    
'id' => 1,
    
'value' => 'test',
);
$productId 16;
$opFieldsM = new Models_OpFieldsProduct($productId);
$opFieldsM->fill($data);
$opFieldsM->save();

Метод

array getFields ($prefix)

Описание

Получает список доступных дополнительных полей

$data Models_OpFieldsProduct::getFields();
viewData($data);

Метод

void saveFields ($data)

Параметры

  • $data: array - массив данных с информацией о дополнительных полях для сохранения

Описание

Метод для редактирования доступных дополнительных полей
Принимает список полей, которые нужно сохранить, если существующие поля не были указаны, то они будут удалены

$data = array(
    Array(
        
'id' => 7,        // идентификатор поля
        
'name' => 'test'// название поля
        
'isPrice' => 0,   // добавляет возможность создания оптовой цены из этого поля
        
'sort' => 0,      // порядок сортировки
    
),
    
// далее аналогично
    
Array(
        
'id' => 8,
        
'name' => 'test2',
        
'isPrice' => 1,
        
'sort' => 1,
    ),
    Array(
        
'id' => 9,
        
'name' => 'test3',
        
'isPrice' => 0,
        
'sort' => 2,
    )
);
Models_OpFieldsProduct::saveFields($data);