示例#1
0
 /**
  * Adds variable options to attribute field.
  *
  * @param Attribute|Attribute\Variable $attribute Attribute.
  */
 public function addVariableAttributeOptions(Attribute $attribute)
 {
     if ($attribute instanceof Attribute\Variable) {
         /** @var $attribute Attribute|Attribute\Variable */
         Forms::checkbox(array('name' => 'product[attributes][' . $attribute->getId() . '][is_variable]', 'id' => 'product_attributes_' . $attribute->getId() . '_variable', 'classes' => array('attribute-options'), 'label' => __('Is for variations?', 'jigoshop'), 'checked' => $attribute->isVariable(), 'size' => 6));
     }
 }
示例#2
0
 /**
  * @param Product\Attribute $attribute
  * @param Product           $product
  */
 public function addAttributes($attribute, $product)
 {
     if ($attribute instanceof Product\Attribute\Variable && $product instanceof Product\Variable) {
         /** @var $attribute Product\Attribute|Product\Attribute\Variable */
         /** @var $product Product|Product\Variable */
         if (isset($_POST['options']) && isset($_POST['options']['is_variable'])) {
             $attribute->setVariable($_POST['options']['is_variable'] === 'true');
         }
         if ($attribute->isVariable()) {
             foreach ($product->getVariations() as $variation) {
                 /** @var $variation VariableProduct\Variation */
                 if (!$variation->hasAttribute($attribute->getId())) {
                     $variableAttribute = new VariableProduct\Attribute();
                     $variableAttribute->setAttribute($attribute);
                     $variableAttribute->setVariation($variation);
                     $variation->addAttribute($variableAttribute);
                 }
             }
         }
     }
 }