public function render() { if (is_array($this->list)) { $list = $this->list; } else { if (!method_exists($this->list, 'getList')) { throw new \Exception('You must implement "public static function getList()" in "' . $this->list . '"'); } $list = forward_static_call([$this->list, 'getList']); } return HtmlBuilder::select($this->name, $this->label, $list, $this->getValueFromForm(), $this->getOptions($this->attributes)); }
/** * @return string */ public function render() { $model = $this->form->instance; $formats = []; foreach (Models\Format::get() as $format) { $formats[$format->id] = $format->width . 'x' . $format->height; } $photos = []; $itemsAddons = []; $itemsField = []; foreach ($model->items()->get() as $key => $item) { $itemsField[$key] = [HtmlBuilder::text('items[' . $key . '][qty]', 'Qty', $item->qty, ['data-parsley-required' => true, 'data-parsley-type' => 'number', 'data-parsley-min' => '1']), HtmlBuilder::text('items[' . $key . '][price_per_item]', 'Price per item', $item->price_per_item, ['data-parsley-required' => true, 'data-parsley-type' => 'number']), HtmlBuilder::select('items[' . $key . '][format_id]', 'Format', $formats, $item->format_id, ['data-parsley-required' => true]), $this->formBuilder->hidden('items[' . $key . '][photo_id]', $item->photo_id, ['data-parsley-required' => true])]; $photos[$key] = $item->photo()->first(); foreach ($item->ordersItemsAddons()->get() as $ordersItemsAddon) { $itemsAddons[$key][$ordersItemsAddon->addon_id] = $ordersItemsAddon->qty; } } return view('admin/form/order/items')->with('label', $this->label)->with('itemsField', $itemsField)->with('photos', $photos)->with('addons', Models\Addon::get())->with('itemsAddons', $itemsAddons); }