/** * Обновление списка блоков шаблона. * @return mixed */ public function findBlocks() { $blocks = LayoutBlock::findInString($this->getContent()); DB::table('layout_blocks')->where('layout_name', $this->getName())->delete(); $this->clearCache(); foreach ($blocks as $position => $block) { LayoutBlock::create(['position' => $position, 'block' => $block, 'layout_name' => $this->getName()]); } return $blocks; }
/** * Обновление списка блоков шаблона * TODO: добавить кеширование * @return mixed */ public function rebuildBlocks() { $blocks = LayoutBlock::findInString($this->getContent()); \DB::table('layout_blocks')->where('layout_name', $this->getName())->delete(); $insertData = []; foreach ($blocks as $position => $block) { $insertData[] = ['position' => $position, 'block' => $block, 'layout_name' => $this->getName()]; } if (count($insertData) > 0) { \DB::table('layout_blocks')->insert($insertData); } return $blocks; }