public function add($request)
{
if ($product = $this->buyableFromRequest()) {
$quantity = (int) $request->getVar('quantity');
if (!$quantity) {
$quantity = 1;
}
$this->cart->add($product, $quantity, $request->getVars());
}
$this->updateLocale($request);
$this->extend('updateAddResponse', $request, $response, $product, $quantity);
return $response ? $response : self::direct();
}