function getRenderedLayout($layout, $tag, $topic) { //Get layout Markup and its tokens $layoutMarkup = $this->getLayoutSource($layout); // Get layout HTML content (default:layout_default.ctp) $matches = $this->getMatchElements($layoutMarkup); // Get matching elements $layoutTokens = $this->getLayoutModuleTokens($matches); // return arrays of token values App::import("Controller", "Modules"); $Modules = new ModulesController(); $Modules->constructClasses(); $dataModuleResult = $Modules->getModules($layoutTokens); //Get Modules content App::import("Controller", "Datarows"); $Datarows = new DatarowsController(); $Datarows->constructClasses(); $Content = $Datarows->getDatarows($layoutTokens, $tag, $topic); //Get final layout Markup $layoutMarkup = $this->getlayoutMarkup($layoutMarkup, $layoutTokens, $dataModuleResult, $Content, $matches, $topic); return $layoutMarkup; }