public function WishlistManager::merge in Commerce Wishlist 8.3
Merges the source wishlist into the target wishlist.
Parameters
\Drupal\commerce_wishlist\Entity\WishlistInterface $source: The source wishlist to merge.
\Drupal\commerce_wishlist\Entity\WishlistInterface $target: The target wishlist.
bool $save: Save wishlist.
Return value
\Drupal\commerce_wishlist\Entity\WishlistInterface The saved or modified wishlist.
Overrides WishlistManagerInterface::merge
File
- src/
WishlistManager.php, line 103
Class
- WishlistManager
- Default implementation of the wishlist manager.
Namespace
Drupal\commerce_wishlistCode
public function merge(WishlistInterface $source, WishlistInterface $target, $save = TRUE) {
foreach ($source
->getItems() as $wishlist_item) {
$duplicate_wishlist_item = $wishlist_item
->createDuplicate();
$duplicate_wishlist_item
->save();
$target
->addItem($duplicate_wishlist_item);
}
if ($save) {
$target
->save();
$source
->delete();
}
return $target;
}