Jake Vanderwerf
9 days ago ed57c386db34d8693ca75311972d0929ebe5f488
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
namespace JVBase\managers\SEO\render\Traits\_Properties;
 
use JVBase\managers\SEO\render\Thing\Intangible\Service;
use JVBase\managers\SEO\render\Thing\Product\Product;
use JVBase\managers\SEO\render\Thing\Product\ProductGroup;
use JVBase\managers\SEO\render\Thing\Product\ProductModel;
use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper;
 
if (!defined('ABSPATH')) {
    exit;
}
trait isVariantOfTrait {
    /**
     * @var ProductGroup|ProductModel Indicates the kind of product that this is a variant of. In the case of ProductModel, this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a ProductGroup, the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with ProductGroup, this property can apply to any Product included in the group.
     */
    protected ProductGroup|ProductModel $isVariantOf;
 
    public function getIsVariantOf():ProductGroup|ProductModel|null
    {
        return $this->isVariantOf??null;
    }
    public function setIsVariantOf(ProductGroup|ProductModel $isVariantOf):void
    {
        $this->isVariantOf = $isVariantOf;
    }
}