public function __construct(ActiveGrid $grid, $params = array())
 {
     $this->grid = $grid;
     $this->params = $params;
     $this->request = $grid->getApplication()->getRequest();
     $this->pid = uniqid();
 }
Beispiel #2
0
 public static function getSchemaColumns($schemaName, LiveCart $application, $customColumns = array())
 {
     $productSchema = ActiveRecordModel::getSchemaInstance($schemaName);
     $availableColumns = array();
     foreach ($productSchema->getFieldList() as $field) {
         $type = ActiveGrid::getFieldType($field);
         if (!$type && 'ID' != $field->getName()) {
             continue;
         }
         $availableColumns[$schemaName . '.' . $field->getName()] = $type;
     }
     $availableColumns = array_merge($availableColumns, $customColumns);
     foreach ($availableColumns as $column => $type) {
         $availableColumns[$column] = array('name' => $application->translate($column), 'type' => $type);
     }
     // specField columns
     if (self::isEav($schemaName)) {
         $fields = EavFieldManager::getClassFieldSet($schemaName);
         foreach ($fields as $field) {
             $fieldArray = $field->toArray();
             if ($field->isDate()) {
                 $type = 'date';
             } else {
                 $type = $field->isSimpleNumbers() ? 'numeric' : 'text';
             }
             $availableColumns['eavField.' . $field->getID()] = array('name' => $fieldArray['name_lang'], 'type' => $type);
         }
     }
     return $availableColumns;
 }