Example #1
0
 public function testVariationMatrix()
 {
     $size = ProductVariationType::getNewInstance($this->product);
     $size->setValueByLang('name', 'en', 'Size');
     $size->save();
     $color = ProductVariationType::getNewInstance($this->product);
     $color->setValueByLang('name', 'en', 'Color');
     $color->save();
     $sizes = $colors = array();
     foreach (array('Small', 'Large') as $name) {
         $variation = ProductVariation::getNewInstance($size);
         $variation->setValueByLang('name', 'en', $name);
         $variation->save();
         $sizes[] = $variation;
     }
     foreach (array('Red', 'Green', 'Blue') as $name) {
         $variation = ProductVariation::getNewInstance($size);
         $variation->setValueByLang('name', 'en', $name);
         $variation->save();
         $colors[] = $variation;
     }
     // create product variations
     $variations = array();
     foreach ($sizes as $sizeVar) {
         foreach ($colors as $colorVar) {
             $child = $this->product->createVariation(array($sizeVar, $colorVar));
             $child->save();
             $variations[$sizeVar->getID()][$colorVar->getID()] = $child;
         }
     }
     $matrix = $this->product->getVariationMatrix();
     //var_dump($matrix);
 }