diff --git a/src/Calc/Calc.php b/src/Calc/Calc.php index 0c54289..f2ff627 100644 --- a/src/Calc/Calc.php +++ b/src/Calc/Calc.php @@ -51,21 +51,7 @@ class Calc /** @var Base $option */ foreach($this->article->getOptions() as $option) { - if($option instanceof PaperDbSelect) { - /** @var Select\Opt $opt */ - foreach($option->getOptions() as $opt) { - if ($opt->isValid() && $opt->isSelected()) { - /** @var Paper $paper */ - $paper = $this->engine->getPaperRepository()->findOneBy(['artNr' => $opt->getId()]); - $this->engine->setVariable($option->getId().'_digital_fix', $paper->getDigitalFix()); - $this->engine->setVariable($option->getId().'_digital_var', $paper->getDigitalVar()); - $this->engine->setVariable($option->getId().'_value', $paper->getPreis()); - $this->engine->setVariable($option->getId().'_volume', $paper->getVolume()); - - } - } - - }elseif($option instanceof Select) { + if($option instanceof Select) { /** @var Select\Opt $opt */ foreach($option->getOptions() as $opt) { if($opt->isValid() && $opt->isSelected()) { @@ -129,6 +115,7 @@ class Calc $p = 0; eval('@$p = ' . $formel . ';'); + echo $formel . ": " . $p . PHP_EOL. PHP_EOL; if($p > 0) { $price += $p; } diff --git a/src/Calc/CalcValues.php b/src/Calc/CalcValues.php index 2f488be..3132eec 100644 --- a/src/Calc/CalcValues.php +++ b/src/Calc/CalcValues.php @@ -61,7 +61,7 @@ class CalcValues } $this->parseEdgeCollection($price, $option, $option->getEdgesCollectionContainer()); - $this->engine->setVariables($option->parseAdditionalValues($this->engine->getVariables())); + } return $price; diff --git a/src/Calc/Valid.php b/src/Calc/Valid.php index 26fdbc5..afddcda 100644 --- a/src/Calc/Valid.php +++ b/src/Calc/Valid.php @@ -95,6 +95,8 @@ class Valid } } } + + $this->engine->setVariables($option->parseAdditionalValues($this->engine->getVariables())); } } diff --git a/src/Option/Type/PaperDbSelect.php b/src/Option/Type/PaperDbSelect.php index d336f19..779bd71 100644 --- a/src/Option/Type/PaperDbSelect.php +++ b/src/Option/Type/PaperDbSelect.php @@ -18,6 +18,7 @@ class PaperDbSelect extends Select $variables[$this->getId() . '_grammatur'] = $paper->getGrammatur(); $variables[$this->getId() . '_volume'] = $paper->getVolume(); + $variables[$this->getId() . '_value'] = $paper->getPreis(); $variables[$this->getId() . '_offset_fix'] = $paper->getOffsetFix(); $variables[$this->getId() . '_offset_var'] = $paper->getOffsetVar(); $variables[$this->getId() . '_digital_fix'] = $paper->getDigitalFix();