Skip to content

Concrete5 на русском языке

Создание Экспресс объекта

use Express;
$object = Express::buildObject('marina', 'marinas', 'Гавань', $pkg);
// Обязательно сохранить
$object = $object->save();

Добавление связей Экспресс объекта

$marina = Express::buildObject('marina', 'marinas', 'Гавань', $pkg);// Первый объект: Гавань
$boat = Express::buildObject('boat', 'boats', 'Лодка', $pkg); //Второй объект: Лодка
$builder = $marina->buildAssociation(); 
$builder->addOneToMany($boat); // один ко многим, addManyToMany (много к одному), addOneToOne (один к одному)
$boat = $builder->save();

$marina = $marina->getEntity();

Добавление атрибутов к Экспресс объекту

$object->addAttribute('text', 'Название', 'название_гавани'); 
$object->addAttribute('address', 'Адрес', 'marina_address');

Созлание формы для добавления записей Экспресс объекта

$student = Express::buildObject('student', 'students', 'Student', $pkg); 
$student->addAttribute('text', 'Имя', 'first_name'); 
$student->addAttribute('text', 'Фамилия', 'last_name'); 
$student->addAttribute('textarea', 'Биография', 'bio'); 
$student->save(); 
$form = $student->buildForm('Форма студента'); 
$form->addFieldset('Общие данные') 
     ->addAttributeKeyControl('first_name') 
     ->addAttributeKeyControl('last_name') 
     ->addTextControl('', 'Это просто объясняющий текст.') 
     ->addAttributeKeyControl('bio'); 
$form = $form->save();

Получение Экспресс объекта по его ID или Handle

$entity = $this->entityManager->
  find('Concrete\Core\Entity\Express\Entity', $this->exEntityID);
//  или по названию объекта (по английски)
$entity = Express::getObjectByHandle('student');
  if (is_object($entity)) {

            $list->filterByStudentFirstName('Андрей');
            $list = new EntryList($entity); 
           // Фильтрация Экспресс объектов по атрибутам 
            $students = $list->getResults();
  }

Сортировка списка Экспресс объектов

$list = new Concrete\Core\Express\EntryList($entity); 
$list->sortByStudentFirstName('desc'); 
$result = $list->getResults();

Обновление записи Экспресс объекта

$student = Express::getEntry(1); 
$student->setStudentFirstName('Михаил'); 
$student->setAttribute("student_first_name", "Михаил"); 
// Можно применять оба метода
$student = Express::refresh($student); 
print $student->getStudentFirstName(); // Вернет "Михаил"

Работа с атрибутами Экспресс объекта

$entity = Express::getObjectByHandle('student'); 
// Получение объекта по названию
$category = $entity->getAttributeKeyCategory();
// Получение категории атрибутов ( может быть страница, пользователь, файл и т.п)
$key = $category->getAttributeKeyByHandle($handle);
// Получение ключа категории (ID категории)
$akc = $key->getController(); // Вызов контроллера соответствующего атрибута по ключу
$option = $akc->getOptionByValue($value,$key);
// Получение объекта списка, если уже есть опция

 


Загрузка беседы