Custom page with products throws unrevocerable error

Help for integrating the Laravel package
Forum rules
Always add your Laravel, Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
Lyshatt
Posts: 8
Joined: 23 Sep 2021, 09:51

Custom page with products throws unrevocerable error

Post by Lyshatt » 13 Jun 2022, 09:50

I am using Laravel Framework Version 7.30.4 with php 7.4 and Aimeos 2021.10 on an Windows Environment.

I am trying to create a custom page like so:
1. inside my routes/web.php I added this "start" route:

Code: Select all

Route::get('{locale}/start/{f_name}~{f_catid}', 'Aimeos\CatalogController@startAction');
2. Inside App/Http/Controllers/Aimeos/CatalogController.php I added this custom function:

Code: Select all

    public function startAction()
    {
        foreach( app( 'config' )->get( 'shop.page.catalog-tree' ) as $name )
        {
            $params['aiheader'][$name] = Shop::get( $name )->getHeader();
            $params['aibody'][$name] = Shop::get( $name )->getBody();
        }

        return Response::view( Shop::template( 'catalog.start' ), $params )
            ->header( 'Cache-Control', 'private, max-age=10' );
    }
3. I created the start.blade.php which looks like this:

Code: Select all

@extends('shop::base')

@section('aimeos_header')
    <?= $aiheader['locale/select'] ?? '' ?>
    <?= $aiheader['basket/mini'] ?? '' ?>
    <?= $aiheader['catalog/search'] ?? '' ?>
    <?= $aiheader['catalog/tree'] ?? '' ?>
    <?= $aiheader['catalog/price'] ?? '' ?>
    <?= $aiheader['catalog/supplier'] ?? '' ?>
    <?= $aiheader['catalog/attribute'] ?? '' ?>
    <?= $aiheader['catalog/stage'] ?? '' ?>
    <?= $aiheader['catalog/lists'] ?? '' ?>
@stop

@section('aimeos_head')
    <?= $aibody['locale/select'] ?? '' ?>
    <div onclick="location.href='<?= route('aimeos_shop_basket', ['locale' => app()->getLocale()]) ?>'">
        <?= $aibody['basket/mini'] ?? '' ?>
    </div>

@stop

@section('aimeos_nav')
    <?= $aibody['catalog/tree'] ?? '' ?>
    <?= $aibody['catalog/search'] ?? '' ?>
@stop

@section('aimeos_body')
    <?= $aibody['catalog/stage'] ?? '' ?>
    <div class="container-fluid">
        <div class="row">
            {{--            <aside class="col-lg-3">--}}
            {{--                <div class="catalog-filter-group">--}}
            {{--                    <?= $aibody['catalog/price'] ?? '' ?>--}}
            {{--                    <?= $aibody['catalog/supplier'] ?? '' ?>--}}
            {{--                    <?= $aibody['catalog/attribute'] ?? '' ?>--}}
            {{--                </div>--}}
            {{--                <?= $aibody['catalog/session'] ?? '' ?>--}}
            {{--            </aside>--}}
            <div class="col-lg-12">
                <?= $aibody['catalog/lists'] ?>
            </div>
        </div>
    </div>
@stop
This almost works. I can call the route like http://shop.localhost/en/start/New-arri ... te=default which displays the products of New Arrivals properly, but the Header shows "A non-recoverable error occured":
Capture.PNG
Capture.PNG (135.2 KiB) Viewed 838 times

User avatar
aimeos
Administrator
Posts: 7889
Joined: 01 Jan 1970, 00:00

Re: Custom page with products throws unrevocerable error

Post by aimeos » 14 Jun 2022, 19:20

Have a look into the Log panel of the admin backend for the error details.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

Lyshatt
Posts: 8
Joined: 23 Sep 2021, 09:51

Re: Custom page with products throws unrevocerable error

Post by Lyshatt » 04 Jul 2022, 11:52

The error shown is Route [] not defined and then a long stack trace. I am not really shure how to solve this. It looks like it tries to use an empty array as the name of a route. Here is the complete error message:

Code: Select all

	
Route [] not defined.
#0 C:\p\kaleshwar-portal\vendor\aimeos\ai-laravel\lib\custom\src\MW\View\Helper\Url\Laravel5.php(62): Illuminate\Routing\UrlGenerator->route(NULL, Array, false)
#1 [internal function]: Aimeos\MW\View\Helper\Url\Laravel5->transform(NULL, NULL, NULL, Array, Array, Array)
#2 C:\p\kaleshwar-portal\vendor\aimeos\aimeos-core\lib\mwlib\src\MW\View\Standard.php(88): call_user_func_array(Array, Array)
#3 C:\p\kaleshwar-portal\vendor\aimeos\ai-client-html\client\html\templates\locale\select\language-body-standard.php(43): Aimeos\MW\View\Standard->__call('url', Array)
#4 C:\p\kaleshwar-portal\vendor\aimeos\aimeos-core\lib\mwlib\src\MW\View\Standard.php(282): include('C:\\p\\kaleshwar-...')
#5 C:\p\kaleshwar-portal\vendor\aimeos\aimeos-core\lib\mwlib\src\MW\View\Standard.php(264): Aimeos\MW\View\Standard->includeFile('C:\\p\\kaleshwar-...')
#6 C:\p\kaleshwar-portal\vendor\aimeos\ai-client-html\client\html\src\Client\Html\Locale\Select\Language\Standard.php(101): Aimeos\MW\View\Standard->render('locale/select/l...')
#7 C:\p\kaleshwar-portal\vendor\aimeos\ai-client-html\client\html\src\Client\Html\Locale\Select\Standard.php(107): Aimeos\Client\Html\Locale\Select\Language\Standard->getBody('')
#8 C:\p\kaleshwar-portal\vendor\aimeos\ai-client-html\client\html\src\Client\Html\Common\Decorator\Base.php(104): Aimeos\Client\Html\Locale\Select\Standard->getBody('')
#9 C:\p\kaleshwar-portal\app\Http\Controllers\Aimeos\CatalogController.php(38): Aimeos\Client\Html\Common\Decorator\Base->getBody()
#10 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Controller.php(54): App\Http\Controllers\Aimeos\CatalogController->startAction('en', 'New-arrivals', '3')
#11 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('startAction', Array)
#12 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Route.php(239): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\Aimeos\CatalogController), 'startAction')
#13 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Route.php(196): Illuminate\Routing\Route->runController()
#14 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Router.php(685): Illuminate\Routing\Route->run()
#15 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\closure(Object(Illuminate\Http\Request))
#16 C:\p\kaleshwar-portal\app\Http\Middleware\ProvideGlobalData.php(29): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#17 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\ProvideGlobalData->handle(Object(Illuminate\Http\Request), Object(Closure))
#18 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php(41): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#19 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#20 C:\p\kaleshwar-portal\app\Http\Middleware\SetLanguage.php(34): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#21 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\SetLanguage->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#23 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#24 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#25 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#26 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#27 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(62): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request), Object(Illuminate\Session\Store), Object(Closure))
#28 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#30 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#31 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#32 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#34 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Router.php(687): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#35 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Router.php(662): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#36 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Router.php(628): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#37 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Routing\Router.php(617): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#38 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(165): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#39 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\closure(Object(Illuminate\Http\Request))
#40 C:\p\kaleshwar-portal\vendor\barryvdh\laravel-debugbar\src\Middleware\InjectDebugbar.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#41 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 C:\p\kaleshwar-portal\app\Http\Middleware\SetLanguage.php(34): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#43 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): App\Http\Middleware\SetLanguage->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 C:\p\kaleshwar-portal\vendor\fideloper\proxy\src\TrustProxies.php(57): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#45 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#46 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#47 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#48 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#49 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#51 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#52 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#53 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(167): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#54 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\closure(Object(Illuminate\Http\Request))
#55 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(140): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#56 C:\p\kaleshwar-portal\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(109): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#57 C:\p\kaleshwar-portal\public\index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#58 main

User avatar
aimeos
Administrator
Posts: 7889
Joined: 01 Jan 1970, 00:00

Re: Custom page with products throws unrevocerable error

Post by aimeos » 04 Jul 2022, 14:10

The problems seems to be here in line 43:
C:\p\kaleshwar-portal\vendor\aimeos\ai-client-html\client\html\templates\locale\select\language-body-standard.php

It seems like there's a problem with the route for the language selector or it's parameters.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

Post Reply