Beispiel #1
0
 public function getHTML(Property $property, Specification $specification)
 {
     $out = $specification->getAttribute('value');
     $unit = $specification->getUnit();
     if ($unit) {
         $out .= ' ' . $unit->getAbbreviation();
     }
     echo $out;
 }
Beispiel #2
0
 public function getHTML(Property $property, Specification $specification)
 {
     $out = '';
     $value = $specification->getAttribute('value');
     if (in_array($value, ['yes', 'no'])) {
         $out .= $value == 'yes' ? 'Да' : 'Нет';
     }
     echo $out;
 }
Beispiel #3
0
 public function getHTML(Property $property, Specification $specification)
 {
     $value = $specification->getAttribute('value');
     $arr = [];
     foreach ($property->getDefaultValues() as $defaultValue) {
         if (in_array($defaultValue->getId(), $value)) {
             $arr[] = $defaultValue->getName();
         }
     }
     echo implode(', ', $arr);
 }
Beispiel #4
0
 /**
  * Validate Specification.
  *
  * @param Specification $specification
  *
  * @return Result
  */
 public function validateSpecification(Specification $specification)
 {
     $result = new Result();
     if (empty($specification->getAttribute('value'))) {
         return $result->setError(Result::ERROR_VALIDATION_FAILED, 'Specification value empty');
     }
     if ($specification->getAttribute('unit_id') !== null && $specification->getUnit() === null) {
         return $result->setError(Result::ERROR_VALIDATION_FAILED, 'Specification unit invalid');
     }
     return $result;
 }
Beispiel #5
0
 public function getHTML(Property $property, Specification $specification)
 {
     $out = '';
     $value = $specification->getAttribute('value');
     foreach ($property->getDefaultValues() as $defaultValue) {
         if ($defaultValue->getId() == $value) {
             $out .= $defaultValue->getName();
             break;
         }
     }
     echo $out;
 }
Beispiel #6
0
 public function getHTML(Property $property, Specification $specification)
 {
     $out = '';
     $value = $specification->getAttribute('value');
     if (!empty($value['start'])) {
         $out .= ' от ' . $value['start'];
     }
     if (!empty($value['finish'])) {
         $out .= ' до ' . $value['finish'];
     }
     $unit = $specification->getUnit();
     if ($unit) {
         $out .= ' ' . $unit->getAbbreviation();
     }
     echo $out;
 }
Beispiel #7
0
 /**
  * Adds Spec to product.
  *
  * @param Specification $specification
  *
  * @return Result
  */
 public function addSpecification(Specification $specification)
 {
     $result = new Result();
     $validatorResult = $specification->validate();
     if ($validatorResult->isOk() == false) {
         return $result->setError(Result::ERROR_VALIDATION_FAILED, 'Specification invalid');
     }
     $this->getCollection()->update(['_id' => $this->getId()], ['$pull' => ['specifications' => ['property_id' => $specification->getPropertyId()]]]);
     // TODO: Perform next action only in previous succeeded
     return $this->getCollection()->update(['_id' => $this->getId()], ['$push' => ['specifications' => $specification->toArray() + ['_id' => $specification->getId()]]]);
 }