/** * {@inheritDoc} */ public function getMemberships() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMemberships', array()); return parent::getMemberships(); }
/** * Import 'memberships' value * * @param \XLite\Model\Category $model Category * @param array $value Value * @param array $column Column info * * @return void */ protected function importMembershipsColumn(\XLite\Model\Category $model, array $value, array $column) { if ($model->getMemberships()) { foreach ($model->getMemberships() as $membership) { $membership->getCategories()->removeElement($model); } $model->getMemberships()->clear(); } if ($value) { foreach ($value as $membership) { $membership = $this->normalizeValueAsMembership($membership); if ($membership) { $model->addMemberships($membership); $membership->addCategory($model); } } } }
/** * Check if the category is visible on the storefront for the current customer * * @param \XLite\Model\Category $current Current category * * @return boolean */ protected function checkStorefrontVisibility($current) { return $current->getEnabled() && (0 === $current->getMemberships()->count() || in_array(\XLite\Core\Auth::getInstance()->getMembershipId(), $current->getMembershipIds())); }