Dynprops * @copyright Tamaranga */ class Dynprops extends FormBlock { public function init() { parent::init(); $this->setTemplate('form/blocks/dynprops', 'listings'); $this->setKey('dynprops'); $this->setTitle(_t('@listings', 'Properties')); } public function data() { $data = parent::data(); $data['visible'] = $this->visible(); $data['dpHtml'] = Listings::dp()->onForm($this->form->category['id'] ?? 0, $this->form->edit() ? $this->form->item->toArray() : []); return $data; } public function visible() { return ! empty($this->form->category['id']); } public function reloadBlock($event) { if ($event != 'categoryChange') { return false; } if ($this->visible()) { return $this->render(); } return ''; } public function validate($data = []) { $dynpropsData = []; $catID = $data['cat_id'] ?? $this->form->item['cat_id'] ?? $this->form->category['id']; if ($this->form->validationAdminPanel) { if (isset($data['d'])) { $dynpropsData = Listings::dp()->onSave($catID, '', $data['d']); } } else { $dynpropsData = Listings::dp()->onSave($catID, 'd'); } $data = array_merge($data, $dynpropsData); return $data; } }