Hi,
Please replace the function "save()" in administrator/components/com_hikashop/classes/cart.php by this code:
function save(&$cart) {
$app = JFactory::getApplication();
$currUser = hikashop_loadUser(true);
$user = JFactory::getUser();
$session = JFactory::getSession();
if($app->isAdmin()) {
if(isset($cart->cart_name))
$cart->cart_name = strip_tags($cart->cart_name);
if(isset($cart->user_id))
$cart->user_id = (int)$cart->user_id;
if(isset($cart->cart_type))
$cart->cart_type = strip_tags($cart->cart_type);
$cart_id = parent::save($cart);
} else if(!isset($cart->user_id) || !$app->isAdmin() || $currUser->user_cms_id == $cart->user_id || (isset($cart->session_id) && $session->getId() == $cart->session_id)) {
if(isset($cart->cart_name))
$cart->cart_name = strip_tags($cart->cart_name);
if(isset($cart->cart_share))
$cart->cart_share = strip_tags($cart->cart_share);
if(isset($cart->cart_type))
$cart->cart_type = strip_tags($cart->cart_type);
if(!empty($cart->cart_params) && !is_string($cart->cart_params))
$cart->cart_params = json_encode($cart->cart_params);
if(!isset($cart->user_id) && empty($cart->cart_name))
$cart->cart_name = '';
if(!isset($cart->cart_id) && empty($cart->cart_coupon))
$cart->cart_coupon = '';
$cart_id = parent::save($cart);
} else {
$cart_id = $cart->cart_id;
}
return $cart_id;
}
This will solve the backend issue, for the frontend the multi cart mode was disabled, that's why there was restrictions on the carts, so I enabled it and now the name can be set on frontend.