public function beforeRender(Event $event)
    {

        parent::beforeRender($event);

        // when a shop order was placed, the pdfs that are rendered for the order confirmation email
        // called this method and therefore called resetOriginalLoggedCustomer() => email was sent t
        // the user who placed the order for a member and not to the member
        if ($this->getResponse()->getType() != 'text/html') {
            return;
        }

        $this->resetOriginalLoggedCustomer();

        $categoriesForMenu = [];
        if (Configure::read('appDb.FCS_SHOW_PRODUCTS_FOR_GUESTS') || $this->AppAuth->user()) {
            $this->Category = TableRegistry::getTableLocator()->get('Categories');
            $allProductsCount = $this->Category->getProductsByCategoryId(Configure::read('app.categoryAllProducts'), false, '', 0, true);
            $newProductsCount = $this->Category->getProductsByCategoryId(Configure::read('app.categoryAllProducts'), true, '', 0, true);
            $categoriesForMenu = $this->Category->getForMenu();
            array_unshift($categoriesForMenu, [
                'slug' => Configure::read('app.slugHelper')->getNewProducts(),
                'name' => __('New_products') . ' <span class="additional-info"> (' . $newProductsCount . ')</span>',
                'options' => [
                    'fa-icon' => 'fa-star' . ($newProductsCount > 0 ? ' gold' : '')
                ]
            ]);
            array_unshift($categoriesForMenu, [
                'slug' => Configure::read('app.slugHelper')->getAllProducts(),
                'name' => __('All_products') . ' <span class="additional-info"> (' . $allProductsCount . ')</span>',
                'options' => [
                    'fa-icon' => 'fa-tags'
                ]
            ]);
        }
        $this->set('categoriesForMenu', $categoriesForMenu);

        $this->Manufacturer = TableRegistry::getTableLocator()->get('Manufacturers');
        $manufacturersForMenu = $this->Manufacturer->getForMenu($this->AppAuth);
        $this->set('manufacturersForMenu', $manufacturersForMenu);

        $this->Page = TableRegistry::getTableLocator()->get('Pages');
        $conditions = [];
        $conditions['Pages.active'] = APP_ON;
        $conditions[] = 'Pages.position > 0';
        if (! $this->AppAuth->user()) {
            $conditions['Pages.is_private'] = APP_OFF;
        }

        $pages = $this->Page->getThreaded($conditions);
        $pagesForHeader = [];
        $pagesForFooter = [];
        foreach ($pages as $page) {
            if ($page->menu_type == 'header') {
                $pagesForHeader[] = $page;
            }
            if ($page->menu_type == 'footer') {
                $pagesForFooter[] = $page;
            }
        }
        $this->set('pagesForHeader', $pagesForHeader);
        $this->set('pagesForFooter', $pagesForFooter);
    }
public function beforeRender(Event $event)
    {

        parent::beforeRender($event);

        // when a shop order was placed, the pdfs that are rendered for the order confirmation email
        // called this method and therefore called resetOriginalLoggedCustomer() => email was sent t
        // the user who placed the order for a member and not to the member
        if ($this->getResponse()->getType() != 'text/html') {
            return;
        }

        $this->resetOriginalLoggedCustomer();

        $categoriesForMenu = [];
        if (Configure::read('appDb.FCS_SHOW_PRODUCTS_FOR_GUESTS') || $this->AppAuth->user()) {
            $this->Category = TableRegistry::getTableLocator()->get('Categories');
            $allProductsCount = $this->Category->getProductsByCategoryId(Configure::read('app.categoryAllProducts'), false, '', 0, true);
            $newProductsCount = $this->Category->getProductsByCategoryId(Configure::read('app.categoryAllProducts'), true, '', 0, true);
            $categoriesForMenu = $this->Category->getForMenu();
            array_unshift($categoriesForMenu, [
                'slug' => Configure::read('app.slugHelper')->getNewProducts(),
                'name' => __('New_products') . ' <span class="additional-info"> (' . $newProductsCount . ')</span>',
                'options' => [
                    'fa-icon' => 'fa-star' . ($newProductsCount > 0 ? ' gold' : '')
                ]
            ]);
            array_unshift($categoriesForMenu, [
                'slug' => Configure::read('app.slugHelper')->getAllProducts(),
                'name' => __('All_products') . ' <span class="additional-info"> (' . $allProductsCount . ')</span>',
                'options' => [
                    'fa-icon' => 'fa-tags'
                ]
            ]);
        }
        $this->set('categoriesForMenu', $categoriesForMenu);

        $this->Manufacturer = TableRegistry::getTableLocator()->get('Manufacturers');
        $manufacturersForMenu = $this->Manufacturer->getForMenu($this->AppAuth);
        $this->set('manufacturersForMenu', $manufacturersForMenu);

        $this->Page = TableRegistry::getTableLocator()->get('Pages');
        $conditions = [];
        $conditions['Pages.active'] = APP_ON;
        $conditions[] = 'Pages.position > 0';
        if (! $this->AppAuth->user()) {
            $conditions['Pages.is_private'] = APP_OFF;
        }

        $pages = $this->Page->getThreaded($conditions);
        $pagesForHeader = [];
        $pagesForFooter = [];
        foreach ($pages as $page) {
            if ($page->menu_type == 'header') {
                $pagesForHeader[] = $page;
            }
            if ($page->menu_type == 'footer') {
                $pagesForFooter[] = $page;
            }
        }
        $this->set('pagesForHeader', $pagesForHeader);
        $this->set('pagesForFooter', $pagesForFooter);
    }
public function beforeRender ( Event $ event ) { parent :: beforeRender ( $ event ) ; // when a shop order was placed, the pdfs that are rendered for the order confirmation email // called this method and therefore called resetOriginalLoggedCustomer() => email was sent t // the user who placed the order for a member and not to the member if ( $ this -> getResponse ( ) -> getType ( ) != 'text/html' ) { return ; } $ this -> resetOriginalLoggedCustomer ( ) ; $ categoriesForMenu = [ ] ; if ( Configure :: read ( 'appDb.FCS_SHOW_PRODUCTS_FOR_GUESTS' ) || $ this -> AppAuth -> user ( ) ) { $ this -> Category = TableRegistry :: getTableLocator ( ) -> get ( 'Categories' ) ; $ allProductsCount = $ this -> Category -> getProductsByCategoryId ( Configure :: read ( 'app.categoryAllProducts' ) , false , '' , 0 , true ) ; $ newProductsCount = $ this -> Category -> getProductsByCategoryId ( Configure :: read ( 'app.categoryAllProducts' ) , true , '' , 0 , true ) ; $ categoriesForMenu = $ this -> Category -> getForMenu ( ) ; array_unshift ( $ categoriesForMenu , [ 'slug' => Configure :: read ( 'app.slugHelper' ) -> getNewProducts ( ) , 'name' => __ ( 'New_products' ) . ' <span class="additional-info"> (' . $ newProductsCount . ')</span>' , 'options' => [ 'fa-icon' => 'fa-star' . ( $ newProductsCount > 0 ? ' gold' : '' ) ] ] ) ; array_unshift ( $ categoriesForMenu , [ 'slug' => Configure :: read ( 'app.slugHelper' ) -> getAllProducts ( ) , 'name' => __ ( 'All_products' ) . ' <span class="additional-info"> (' . $ allProductsCount . ')</span>' , 'options' => [ 'fa-icon' => 'fa-tags' ] ] ) ; } $ this -> set ( 'categoriesForMenu' , $ categoriesForMenu ) ; $ this -> Manufacturer = TableRegistry :: getTableLocator ( ) -> get ( 'Manufacturers' ) ; $ manufacturersForMenu = $ this -> Manufacturer -> getForMenu ( $ this -> AppAuth ) ; $ this -> set ( 'manufacturersForMenu' , $ manufacturersForMenu ) ; $ this -> Page = TableRegistry :: getTableLocator ( ) -> get ( 'Pages' ) ; $ conditions = [ ] ; $ conditions [ 'Pages.active' ] = APP_ON ; $ conditions [ ] = 'Pages.position > 0' ; if ( ! $ this -> AppAuth -> user ( ) ) { $ conditions [ 'Pages.is_private' ] = APP_OFF ; } $ pages = $ this -> Page -> getThreaded ( $ conditions ) ; $ pagesForHeader = [ ] ; $ pagesForFooter = [ ] ; foreach ( $ pages as $ page ) { if ( $ page -> menu_type == 'header' ) { $ pagesForHeader [ ] = $ page ; } if ( $ page -> menu_type == 'footer' ) { $ pagesForFooter [ ] = $ page ; } } $ this -> set ( 'pagesForHeader' , $ pagesForHeader ) ; $ this -> set ( 'pagesForFooter' , $ pagesForFooter ) ; }
is not called on ajax actions!
is not called on ajax actions!