Example #1
0
 protected function createAdvertDetailsForm(Advertisement $advert, $fill = false)
 {
     $adModel = $this->get(C::MODEL_ADVERTISEMENT);
     $options[C::FORM_ATTRIBUTE_LIST] = $adModel->getAttributesByProductId($advert->getProduct()->getId());
     if ($fill) {
         foreach ($advert->getAttributes() as $attribute) {
             $options[AbstractAttribute::FORM_PREFIX . $attribute->getAttribute()->getId()] = $attribute->getValue();
         }
     }
     $form = $this->createForm(FillAdvertForm::class, $options);
     return $form;
 }
Example #2
0
 /**
  * @param Advertisement $advertisement
  * @return array
  * возвращает ассоциаптиыный массив для страницы просмотра advert ['attrName' => attrValue]
  */
 public function getAdvertAttributesArray(Advertisement $advertisement)
 {
     $result = [];
     $allAttributes = $this->getAttributesByProductId($advertisement->getProduct()->getId());
     foreach ($allAttributes as $attribute) {
         $result[$attribute->getName()] = 'Не указано';
     }
     foreach ($advertisement->getAttributes() as $advertAttribute) {
         $attrName = $advertAttribute->getAttribute()->getName();
         if ($advertAttribute->getAttribute()->getType() === ProductAttribute::ATTRIBUTE_TYPE_REFERENCE) {
             $result[$attrName] = is_null($advertAttribute->getValue()) ? 'Не указано' : $this->getReferenceItem($advertAttribute->getValue())->getName();
         } else {
             $result[$attrName] = is_null($advertAttribute->getValue()) ? 'Не указано' : $advertAttribute->getValue();
         }
     }
     return $result;
 }