New Piano Gallery


We are proud to offer an amazing collection of high-quality pianos from the worlds finest manufacturers. Whether your music institution looking for a 9’ concert grand or a family in search of that perfect piano, our friendly staff of qualified piano specialist will listen to your needs and direct you to that perfect piano. For you online piano searching convenience, we are also excited to introduce you to the ultimate online piano gallery. In one place, you can learn about our brands, the piano types we offer, even the feature benefits of any piano we offer. From traditional Acoustic Pianos for the piano purest at heart, to digital pianos that offer cutting edge technology — perfect for the student, musician, even the hobbyist recreational player. You will even experience hybrid pianos that combine traditional acoustic pianos with cutting-edge digital technology — plus, if you have any question, please contact us where are always here to assist you.



yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Warningyii\base\ErrorException

Invalid argument supplied for foreach()

  • 1. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/modules/webgines/instrumentgallery/models/FasterGallery.php at line 376
    367368369370371372373374375376377378379380381382383384385
                    break;
                }
            }
            return $about;
        }
     
        public function getMenu($brand)
        {
            $productCategories = array();
            foreach ($brand['product-categories'] as $productCategoryId => $productCategory) {
                $types = array();
                foreach ($productCategory['product-types'] as $productType) {
                    $series = array();
                    foreach ($productType['product-series'] as $productSeries) {
                        if (count($productSeries['products'])) {
                            $series[] = array(
                                'id' => $productSeries['id'],
                                'slug' => $productSeries['slug'],
                                'name' => $productSeries['name'],
    
  • 2. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/modules/webgines/instrumentgallery/models/FasterGallery.php at line 376 yii\base\ErrorHandler::handleError(2, 'Invalid argument supplied for fo...', '/chroot/home/showroom/showroom2....', 376, ...)
    370371372373374375376377378379380381382
            return $about;
        }
     
        public function getMenu($brand)
        {
            $productCategories = array();
            foreach ($brand['product-categories'] as $productCategoryId => $productCategory) {
                $types = array();
                foreach ($productCategory['product-types'] as $productType) {
                    $series = array();
                    foreach ($productType['product-series'] as $productSeries) {
                        if (count($productSeries['products'])) {
                            $series[] = array(
    
  • 3. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/modules/webgines/instrumentgallery/controllers/ApiController.php at line 292 – app\modules\webgines\instrumentgallery\models\FasterGallery::getMenu(false)
    286287288289290291292293294295296297298
     
            $allBrands = $gallery->getBrands();
            $brands = array_filter($allBrands, function ($row) use ($brand) {
                return $row['slug'] == $brand;
            });
     
            $menu = $this->replaceDash($gallery->getMenu(reset($brands)));
     
            foreach ($brands as $brandId => $brand) {
                foreach ($brands[$brandId]['product-categories'] as $productCategoryId => $productCategory) {
                    foreach ($productCategory['product-types'] as $productTypeId => $productType) {
                        if ($filterProductType && $productType['slug'] != $filterProductType) {
                            unset($brands[$brandId]['product-categories'][$productCategoryId]['product-types'][$productTypeId]);
    
  • 4. app\modules\webgines\instrumentgallery\controllers\ApiController::actionProducts('new-pianos', 'knabe', 'grand-pianos', false, ...)
  • 5. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/vendor/yiisoft/yii2/base/InlineAction.php at line 57 – call_user_func_array([app\modules\webgines\instrumentgallery\controllers\ApiController, 'actionProducts'], ['new-pianos', 'knabe', 'grand-pianos', false, ...])
    515253545556575859
            $args = $this->controller->bindActionParams($this, $params);
            Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__);
            if (Yii::$app->requestedParams === null) {
                Yii::$app->requestedParams = $args;
            }
     
            return call_user_func_array([$this->controller, $this->actionMethod], $args);
        }
    }
    
  • 6. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/vendor/yiisoft/yii2/base/Controller.php at line 157 yii\base\InlineAction::runWithParams(['apiKey' => '0b0ca1ecd10dd888c67b40d312474dc3', 'brand' => 'new-pianos', 'filterProductType' => 'knabe', 'filterProductSeries' => 'grand-pianos'])
    151152153154155156157158159160161162163
            }
     
            $result = null;
     
            if ($runAction && $this->beforeAction($action)) {
                // run the action
                $result = $action->runWithParams($params);
     
                $result = $this->afterAction($action, $result);
     
                // call afterAction on modules
                foreach ($modules as $module) {
                    /* @var $module Module */
    
  • 7. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/vendor/yiisoft/yii2/base/Module.php at line 528 yii\base\Controller::runAction('products', ['apiKey' => '0b0ca1ecd10dd888c67b40d312474dc3', 'brand' => 'new-pianos', 'filterProductType' => 'knabe', 'filterProductSeries' => 'grand-pianos'])
    522523524525526527528529530531532533534
            $parts = $this->createController($route);
            if (is_array($parts)) {
                /* @var $controller Controller */
                list($controller, $actionID) = $parts;
                $oldController = Yii::$app->controller;
                Yii::$app->controller = $controller;
                $result = $controller->runAction($actionID, $params);
                if ($oldController !== null) {
                    Yii::$app->controller = $oldController;
                }
     
                return $result;
            }
    
  • 8. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/vendor/yiisoft/yii2/web/Application.php at line 103 yii\base\Module::runAction('new-instrument-gallery/api/produ...', ['apiKey' => '0b0ca1ecd10dd888c67b40d312474dc3', 'brand' => 'new-pianos', 'filterProductType' => 'knabe', 'filterProductSeries' => 'grand-pianos'])
    979899100101102103104105106107108109
                $params = $this->catchAll;
                unset($params[0]);
            }
            try {
                Yii::debug("Route requested: '$route'", __METHOD__);
                $this->requestedRoute = $route;
                $result = $this->runAction($route, $params);
                if ($result instanceof Response) {
                    return $result;
                }
     
                $response = $this->getResponse();
                if ($result !== null) {
    
  • 9. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/vendor/yiisoft/yii2/base/Application.php at line 386 yii\web\Application::handleRequest(yii\web\Request)
    380381382383384385386387388389390391392
        {
            try {
                $this->state = self::STATE_BEFORE_REQUEST;
                $this->trigger(self::EVENT_BEFORE_REQUEST);
     
                $this->state = self::STATE_HANDLING_REQUEST;
                $response = $this->handleRequest($this->getRequest());
     
                $this->state = self::STATE_AFTER_REQUEST;
                $this->trigger(self::EVENT_AFTER_REQUEST);
     
                $this->state = self::STATE_SENDING_RESPONSE;
                $response->send();
    
  • 10. in /chroot/home/showroom/showroom2.webgines.com/new-instrument-gallery/web/index.php at line 12 yii\base\Application::run()
    6789101112
     
    require __DIR__ . '/../vendor/autoload.php';
    require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
     
    $config = require __DIR__ . '/../config/web.php';
     
    (new yii\web\Application($config))->run();
    
$_GET = [
    'apiKey' => '0b0ca1ecd10dd888c67b40d312474dc3',
    'brand' => 'new-pianos',
    'filterProductType' => 'knabe',
    'filterProductSeries' => 'grand-pianos',
];

Talk to a piano expert

Our experts are here to help you find the perfect piano for your needs.

Virtual & private in-store appointments are available.